<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [..\OBJ\F103.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ..\OBJ\F103.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Sun Oct 12 15:41:24 2025
<BR><P>
<H3>Maximum Stack Usage =       2372 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
mqtt_task &rArr; Task_Processing &rArr; RequestJsonData &rArr; Host_Device_Request_Data &rArr; cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[337]">__user_initial_stackheap</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[1ec]">print_array</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1eb]">print_value</a><BR>
 <LI><a href="#[1ea]">print_object</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1eb]">print_value</a><BR>
 <LI><a href="#[1e6]">parse_array</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1e5]">parse_value</a><BR>
 <LI><a href="#[1ae]">cJSON_Delete</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1ae]">cJSON_Delete</a><BR>
 <LI><a href="#[1e3]">parse_object</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1e5]">parse_value</a><BR>
 <LI><a href="#[29]">ADC1_2_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[29]">ADC1_2_IRQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[29]">ADC1_2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[46]">ADC3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[11]">BusFault_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2c]">CAN1_RX1_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2d]">CAN1_SCE_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[22]">DMA1_Channel1_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[23]">DMA1_Channel2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[24]">DMA1_Channel3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[25]">DMA1_Channel4_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[26]">DMA1_Channel5_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[27]">DMA1_Channel6_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[28]">DMA1_Channel7_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4f]">DMA2_Channel1_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[50]">DMA2_Channel2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[51]">DMA2_Channel3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[52]">DMA2_Channel4_5_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[14]">DebugMon_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1d]">EXTI0_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3f]">EXTI15_10_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1e]">EXTI1_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1f]">EXTI2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[20]">EXTI3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[21]">EXTI4_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2e]">EXTI9_5_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1b]">FLASH_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[47]">FSMC_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[f]">HardFault_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[37]">I2C1_ER_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[36]">I2C1_EV_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[39]">I2C2_ER_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[38]">I2C2_EV_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[10]">MemManage_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[e]">NMI_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[9f]">OTA_task</a> from main.o(.text) referenced from main.o(.text)
 <LI><a href="#[18]">PVD_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[15]">PendSV_Handler</a> from port.o(.emb_text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1c]">RCC_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[40]">RTCAlarm_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[1a]">RTC_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[53]">ResetCnt</a> from ota.o(.text) referenced from main.o(.text)
 <LI><a href="#[d]">Reset_Handler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[48]">SDIO_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3a]">SPI1_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3b]">SPI2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4a]">SPI3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[13]">SVC_Handler</a> from port.o(.emb_text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[16]">SysTick_Handler</a> from main.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[55]">SystemInit</a> from system_stm32f10x.o(.text) referenced from startup_stm32f10x_hd.o(.text)
 <LI><a href="#[19]">TAMPER_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2f]">TIM1_BRK_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[32]">TIM1_CC_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[31]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[30]">TIM1_UP_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[33]">TIM2_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[34]">TIM3_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[35]">TIM4_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[49]">TIM5_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4d]">TIM6_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4e]">TIM7_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[42]">TIM8_BRK_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[45]">TIM8_CC_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[44]">TIM8_TRG_COM_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[43]">TIM8_UP_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4b]">UART4_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[4c]">UART5_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3c]">USART1_IRQHandler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3d]">USART2_IRQHandler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[3e]">USART3_IRQHandler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[41]">USBWakeUp_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2a]">USB_HP_CAN1_TX_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[2b]">USB_LP_CAN1_RX0_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[12]">UsageFault_Handler</a> from stm32f10x_it.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[17]">WWDG_IRQHandler</a> from startup_stm32f10x_hd.o(.text) referenced from startup_stm32f10x_hd.o(RESET)
 <LI><a href="#[63]">__main</a> from __main.o(!!!main) referenced from startup_stm32f10x_hd.o(.text)
 <LI><a href="#[5e]">_get_lc_ctype</a> from lc_ctype_c.o(locale$$code) referenced from rt_ctype_table.o(.text)
 <LI><a href="#[5f]">_printf_input_char</a> from _printf_char_common.o(.text) referenced from _printf_char_common.o(.text)
 <LI><a href="#[5d]">_sbackspace</a> from _sgetc.o(.text) referenced 3 times from sscanf.o(.text)
 <LI><a href="#[61]">_scanf_char_input</a> from scanf_char.o(.text) referenced from scanf_char.o(.text)
 <LI><a href="#[5c]">_sgetc</a> from _sgetc.o(.text) referenced 3 times from sscanf.o(.text)
 <LI><a href="#[5b]">_snputc</a> from _snputc.o(.text) referenced from __2snprintf.o(.text)
 <LI><a href="#[5a]">_sputc</a> from _sputc.o(.text) referenced 3 times from sprintf.o(.text)
 <LI><a href="#[265]">bufchar</a> from mqttpacket.o(.text) referenced from mqttpacket.o(.text)
 <LI><a href="#[60]">fputc</a> from uart.o(.text) referenced from _printf_char_file.o(.text)
 <LI><a href="#[b]">free</a> from h1_free.o(.text) referenced 2 times from cjson.o(.data)
 <LI><a href="#[b]">free</a> from h1_free.o(.text) referenced from cjson.o(.text)
 <LI><a href="#[62]">isspace</a> from isspace.o(.text) referenced 2 times from scanf_char.o(.text)
 <LI><a href="#[a]">malloc</a> from h1_alloc.o(.text) referenced 2 times from cjson.o(.data)
 <LI><a href="#[a]">malloc</a> from h1_alloc.o(.text) referenced from cjson.o(.text)
 <LI><a href="#[b9]">mqtt_task</a> from main.o(.text) referenced from main.o(.text)
 <LI><a href="#[57]">prvIdleTask</a> from tasks.o(.text) referenced from tasks.o(.text)
 <LI><a href="#[59]">prvTaskExitError</a> from port.o(.text) referenced from port.o(.text)
 <LI><a href="#[58]">prvTimerTask</a> from timers.o(.text) referenced from timers.o(.text)
 <LI><a href="#[c]">realloc</a> from h1_realloc.o(.text) referenced 2 times from cjson.o(.data)
 <LI><a href="#[c]">realloc</a> from h1_realloc.o(.text) referenced from cjson.o(.text)
 <LI><a href="#[9c]">sensor_task</a> from main.o(.text) referenced from main.o(.text)
 <LI><a href="#[bb]">start_task</a> from main.o(.text) referenced from main.o(.text)
 <LI><a href="#[54]">transport_getdata</a> from transport.o(.text) referenced 4 times from 4g.o(.text)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[63]"></a>__main</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[64]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>

<P><STRONG><a name="[66]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[370]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

<P><STRONG><a name="[371]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

<P><STRONG><a name="[372]"></a>__decompress</STRONG> (Thumb, 90 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED)

<P><STRONG><a name="[373]"></a>__decompress1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED)

<P><STRONG><a name="[374]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

<P><STRONG><a name="[67]"></a>_printf_n</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))
<BR><BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_charcount
</UL>

<P><STRONG><a name="[2ff]"></a>_printf_percent</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__printf
</UL>

<P><STRONG><a name="[69]"></a>_printf_p</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_p.o(.ARM.Collect$$_printf_percent$$00000002))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = _printf_p &rArr; _printf_hex_ptr &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_hex_ptr
</UL>

<P><STRONG><a name="[6b]"></a>_printf_f</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_f.o(.ARM.Collect$$_printf_percent$$00000003))
<BR><BR>[Stack]<UL><LI>Max Depth = 324 + Unknown Stack Size
<LI>Call Chain = _printf_f &rArr; _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec
</UL>

<P><STRONG><a name="[6d]"></a>_printf_e</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_e.o(.ARM.Collect$$_printf_percent$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 324 + Unknown Stack Size
<LI>Call Chain = _printf_e &rArr; _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec
</UL>

<P><STRONG><a name="[6e]"></a>_printf_g</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_g.o(.ARM.Collect$$_printf_percent$$00000005))
<BR><BR>[Stack]<UL><LI>Max Depth = 324 + Unknown Stack Size
<LI>Call Chain = _printf_g &rArr; _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec
</UL>

<P><STRONG><a name="[6f]"></a>_printf_a</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_a.o(.ARM.Collect$$_printf_percent$$00000006))
<BR><BR>[Stack]<UL><LI>Max Depth = 112 + Unknown Stack Size
<LI>Call Chain = _printf_a &rArr; _printf_fp_hex &rArr; _printf_fp_hex_real &rArr; _printf_fp_infnan &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex
</UL>

<P><STRONG><a name="[375]"></a>_printf_ll</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007))

<P><STRONG><a name="[71]"></a>_printf_i</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_i &rArr; _printf_int_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
</UL>

<P><STRONG><a name="[73]"></a>_printf_d</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_d &rArr; _printf_int_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
</UL>

<P><STRONG><a name="[74]"></a>_printf_u</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_u.o(.ARM.Collect$$_printf_percent$$0000000A))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_u &rArr; _printf_int_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
</UL>

<P><STRONG><a name="[75]"></a>_printf_o</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_o.o(.ARM.Collect$$_printf_percent$$0000000B))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = _printf_o &rArr; _printf_int_oct &rArr; _printf_longlong_oct &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_oct
</UL>

<P><STRONG><a name="[77]"></a>_printf_x</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C))
<BR><BR>[Stack]<UL><LI>Max Depth = 80 + Unknown Stack Size
<LI>Call Chain = _printf_x &rArr; _printf_int_hex &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_hex
</UL>

<P><STRONG><a name="[79]"></a>_printf_lli</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_lli.o(.ARM.Collect$$_printf_percent$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_lli &rArr; _printf_longlong_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_dec
</UL>

<P><STRONG><a name="[7b]"></a>_printf_lld</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_lld.o(.ARM.Collect$$_printf_percent$$0000000E))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_lld &rArr; _printf_longlong_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_dec
</UL>

<P><STRONG><a name="[7c]"></a>_printf_llu</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_llu.o(.ARM.Collect$$_printf_percent$$0000000F))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = _printf_llu &rArr; _printf_longlong_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_dec
</UL>

<P><STRONG><a name="[7d]"></a>_printf_llo</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_llo.o(.ARM.Collect$$_printf_percent$$00000010))
<BR><BR>[Stack]<UL><LI>Max Depth = 56 + Unknown Stack Size
<LI>Call Chain = _printf_llo &rArr; _printf_ll_oct &rArr; _printf_longlong_oct &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_oct
</UL>

<P><STRONG><a name="[7f]"></a>_printf_llx</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_llx.o(.ARM.Collect$$_printf_percent$$00000011))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = _printf_llx &rArr; _printf_ll_hex &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_hex
</UL>

<P><STRONG><a name="[376]"></a>_printf_l</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012))

<P><STRONG><a name="[81]"></a>_printf_c</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013))
<BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size
<LI>Call Chain = _printf_c &rArr; _printf_char &rArr; _printf_cs_common &rArr; _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char
</UL>

<P><STRONG><a name="[83]"></a>_printf_s</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))
<BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size
<LI>Call Chain = _printf_s &rArr; _printf_string &rArr; _printf_cs_common &rArr; _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_string
</UL>

<P><STRONG><a name="[85]"></a>_printf_lc</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_lc.o(.ARM.Collect$$_printf_percent$$00000015))
<BR><BR>[Stack]<UL><LI>Max Depth = 88 + Unknown Stack Size
<LI>Call Chain = _printf_lc &rArr; _printf_wchar &rArr; _printf_lcs_common &rArr; _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wchar
</UL>

<P><STRONG><a name="[87]"></a>_printf_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_ls.o(.ARM.Collect$$_printf_percent$$00000016))
<BR><BR>[Stack]<UL><LI>Max Depth = 88 + Unknown Stack Size
<LI>Call Chain = _printf_ls &rArr; _printf_wstring &rArr; _printf_lcs_common &rArr; _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wstring
</UL>

<P><STRONG><a name="[377]"></a>_printf_percent_end</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))

<P><STRONG><a name="[93]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
</UL>

<P><STRONG><a name="[378]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))

<P><STRONG><a name="[89]"></a>__rt_lib_init_heap_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000005))
<BR><BR>[Stack]<UL><LI>Max Depth = 56 + Unknown Stack Size
<LI>Call Chain = __rt_lib_init_heap_2 &rArr; _init_alloc &rArr; __rt_SIGRTMEM &rArr; __rt_SIGRTMEM_inner &rArr; __default_signal_display
</UL>
<BR>[Calls]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_alloc
</UL>

<P><STRONG><a name="[379]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))

<P><STRONG><a name="[37a]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

<P><STRONG><a name="[8b]"></a>__rt_lib_init_lc_common</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))
<BR><BR>[Calls]<UL><LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale
</UL>

<P><STRONG><a name="[37b]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))

<P><STRONG><a name="[37c]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

<P><STRONG><a name="[37d]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

<P><STRONG><a name="[8d]"></a>__rt_lib_init_lc_ctype_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000012))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_lib_init_lc_ctype_2 &rArr; _get_lc_ctype
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype
</UL>

<P><STRONG><a name="[37e]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

<P><STRONG><a name="[37f]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

<P><STRONG><a name="[8e]"></a>__rt_lib_init_lc_numeric_2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000016))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_lib_init_lc_numeric_2 &rArr; _get_lc_numeric
</UL>
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_numeric
</UL>

<P><STRONG><a name="[380]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

<P><STRONG><a name="[381]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

<P><STRONG><a name="[382]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

<P><STRONG><a name="[383]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

<P><STRONG><a name="[384]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))

<P><STRONG><a name="[385]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

<P><STRONG><a name="[386]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

<P><STRONG><a name="[387]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

<P><STRONG><a name="[388]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

<P><STRONG><a name="[389]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

<P><STRONG><a name="[38a]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))

<P><STRONG><a name="[38b]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

<P><STRONG><a name="[38c]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))

<P><STRONG><a name="[98]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL>

<P><STRONG><a name="[38d]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))

<P><STRONG><a name="[38e]"></a>__rt_lib_shutdown_fini_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))

<P><STRONG><a name="[38f]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

<P><STRONG><a name="[390]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011))

<P><STRONG><a name="[391]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012))

<P><STRONG><a name="[392]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))

<P><STRONG><a name="[393]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

<P><STRONG><a name="[394]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

<P><STRONG><a name="[65]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
</UL>

<P><STRONG><a name="[395]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

<P><STRONG><a name="[90]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_entry_sh &rArr; __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>

<P><STRONG><a name="[92]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL>

<P><STRONG><a name="[396]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

<P><STRONG><a name="[94]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 544 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; WriteDevInfo &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>

<P><STRONG><a name="[397]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

<P><STRONG><a name="[338]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>

<P><STRONG><a name="[97]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL>

<P><STRONG><a name="[398]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

<P><STRONG><a name="[99]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>

<P><STRONG><a name="[399]"></a>__get_PSP</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, core_cm3.o(.emb_text), UNUSED)

<P><STRONG><a name="[39a]"></a>__set_PSP</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, core_cm3.o(.emb_text), UNUSED)

<P><STRONG><a name="[39b]"></a>__get_MSP</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, core_cm3.o(.emb_text), UNUSED)

<P><STRONG><a name="[e9]"></a>__set_MSP</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, core_cm3.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;load_user_app
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;iap_load_app
</UL>

<P><STRONG><a name="[39c]"></a>__REV16</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, core_cm3.o(.emb_text), UNUSED)

<P><STRONG><a name="[39d]"></a>__REVSH</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, core_cm3.o(.emb_text), UNUSED)

<P><STRONG><a name="[13]"></a>SVC_Handler</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, port.o(.emb_text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2ed]"></a>__asm___6_port_c_39a90d8d__prvStartFirstTask</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, port.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[2c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xPortStartScheduler
</UL>

<P><STRONG><a name="[15]"></a>PendSV_Handler</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, port.o(.emb_text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = PendSV_Handler &rArr; vTaskSwitchContext &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSwitchContext
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2ee]"></a>vPortGetIPSR</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, port.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[39e]"></a>_maybe_terminate_alloc</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, maybetermalloc1.o(.emb_text), UNUSED)

<P><STRONG><a name="[9c]"></a>sensor_task</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = sensor_task &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART3_RecvDealwith
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[9f]"></a>OTA_task</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = OTA_task &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[a0]"></a>Task_Processing</STRONG> (Thumb, 680 bytes, Stack size 792 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 2372 + Unknown Stack Size
<LI>Call Chain = Task_Processing &rArr; RequestJsonData &rArr; Host_Device_Request_Data &rArr; cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ClearArea
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqtt_task
</UL>

<P><STRONG><a name="[b9]"></a>mqtt_task</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 2372 + Unknown Stack Size
<LI>Call Chain = mqtt_task &rArr; Task_Processing &rArr; RequestJsonData &rArr; Host_Device_Request_Data &rArr; cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetStackHighWaterMark
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[bb]"></a>start_task</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 296 + Unknown Stack Size
<LI>Call Chain = start_task &rArr; xTaskCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[95]"></a>main</STRONG> (Thumb, 940 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 544 + Unknown Stack Size
<LI>Call Chain = main &rArr; WriteDevInfo &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskStartScheduler
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;read_uid
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;iap_load_app
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_init
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetCnt
<LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLiquidAlarmInfo
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Init
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Clear
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_PriorityGroupConfig
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18B20_GPIO
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_Init
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_GPIO_Config_Init
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPCOutput
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB4
<LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAOutput
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAInput
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GPIO_Config_Init
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>

<P><STRONG><a name="[16]"></a>SysTick_Handler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = SysTick_Handler &rArr; xPortSysTickHandler &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetSchedulerState
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xPortSysTickHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>HardFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>BusFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>UsageFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3e]"></a>USART3_IRQHandler</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, stm32f10x_it.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = USART3_IRQHandler &rArr; HAL_UART3_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearITPendingBit
<LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART3_RxCpltCallback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3c]"></a>USART1_IRQHandler</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, stm32f10x_it.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = USART1_IRQHandler &rArr; HAL_UART1_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearITPendingBit
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART1_RxCpltCallback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3d]"></a>USART2_IRQHandler</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, stm32f10x_it.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = USART2_IRQHandler &rArr; HAL_UART2_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearITPendingBit
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART2_RxCpltCallback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[55]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit &rArr; SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(.text)
</UL>
<P><STRONG><a name="[39f]"></a>SystemCoreClockUpdate</STRONG> (Thumb, 142 bytes, Stack size 8 bytes, system_stm32f10x.o(.text), UNUSED)

<P><STRONG><a name="[125]"></a>MD5_Init</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, md5.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calc_app2_md5
</UL>

<P><STRONG><a name="[e5]"></a>MD5_Update</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, md5.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 124<LI>Call Chain = MD5_Update &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;md5_transform
</UL>
<BR>[Called By]<UL><LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calc_app2_md5
</UL>

<P><STRONG><a name="[e7]"></a>MD5_Final</STRONG> (Thumb, 186 bytes, Stack size 40 bytes, md5.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 140<LI>Call Chain = MD5_Final &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;md5_transform
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
</UL>
<BR>[Called By]<UL><LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calc_app2_md5
</UL>

<P><STRONG><a name="[d0]"></a>iap_load_app</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = iap_load_app
</UL>
<BR>[Calls]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_MSP
</UL>
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[f7]"></a>backup_has_app</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, ota.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[ea]"></a>Erase_page</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = Erase_page &rArr; FLASH_ErasePage &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
<LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
</UL>
<BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EraseOTA
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Erase
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erase_run
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erase_backup
</UL>

<P><STRONG><a name="[ef]"></a>erase_backup</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = erase_backup &rArr; Erase_page &rArr; FLASH_ErasePage &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[f0]"></a>copy_run_to_backup</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = copy_run_to_backup &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramWord
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[f2]"></a>erase_run</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = erase_run &rArr; Erase_page &rArr; FLASH_ErasePage &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[f3]"></a>copy_backup_to_run</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = copy_backup_to_run &rArr; FLASH_ProgramWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramWord
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
</UL>
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[f4]"></a>load_user_app</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_MSP
</UL>

<P><STRONG><a name="[c7]"></a>boot_main</STRONG> (Thumb, 294 bytes, Stack size 32 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 216 + Unknown Stack Size
<LI>Call Chain = boot_main &rArr; AT24C08_ReadOneByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_backup_to_run
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erase_run
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_run_to_backup
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;erase_backup
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;backup_has_app
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_SystemReset
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;iap_load_app
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[53]"></a>ResetCnt</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192 + Unknown Stack Size
<LI>Call Chain = ResetCnt &rArr; AT24C08_ReadOneByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[d4]"></a>read_uid</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, ota.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[f8]"></a>OTA_Erase</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[f9]"></a>EraseOTA</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_OTA
</UL>

<P><STRONG><a name="[fa]"></a>publish</STRONG> (Thumb, 150 bytes, Stack size 392 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 640 + Unknown Stack Size
<LI>Call Chain = publish &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_OTA
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_App2
</UL>

<P><STRONG><a name="[fb]"></a>Flash_Write_App2</STRONG> (Thumb, 596 bytes, Stack size 32 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 672 + Unknown Stack Size
<LI>Call Chain = Flash_Write_App2 &rArr; publish &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
<LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Reboot
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
</UL>

<P><STRONG><a name="[fe]"></a>Flash_Write_OTA</STRONG> (Thumb, 302 bytes, Stack size 32 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EraseOTA
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
</UL>

<P><STRONG><a name="[ff]"></a>Uart3_RecvFlagOTA</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Uart3_RecvFlagOTA
</UL>
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
</UL>

<P><STRONG><a name="[100]"></a>Uart3_RecvFlagHttp</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvHttp
</UL>

<P><STRONG><a name="[a9]"></a>usart3_recvOTA</STRONG> (Thumb, 312 bytes, Stack size 104 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 996 + Unknown Stack Size
<LI>Call Chain = usart3_recvOTA &rArr; http_chunked_download &rArr; validate_file &rArr; calc_app2_md5 &rArr; MD5_Final &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlagOTA
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_App2
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_SystemReset
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[103]"></a>CheckUpdate</STRONG> (Thumb, 674 bytes, Stack size 96 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlagOTA
<LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_OTA
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_SystemReset
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[104]"></a>usart3_recvHttp</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlagHttp
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
</UL>

<P><STRONG><a name="[a5]"></a>mqttjz</STRONG> (Thumb, 114 bytes, Stack size 112 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 360 + Unknown Stack Size
<LI>Call Chain = mqttjz &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[106]"></a>HttpjzVER</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
</UL>

<P><STRONG><a name="[107]"></a>Httpjz1K</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
</UL>

<P><STRONG><a name="[108]"></a>Httpjz</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[109]"></a>FindOffset</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>

<P><STRONG><a name="[3a0]"></a>substring</STRONG> (Thumb, 34 bytes, Stack size 12 bytes, ota.o(.text), UNUSED)

<P><STRONG><a name="[10a]"></a>parse_http_response</STRONG> (Thumb, 232 bytes, Stack size 48 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 556<LI>Call Chain = parse_http_response &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[10b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>
<BR>[Called By]<UL><LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
</UL>

<P><STRONG><a name="[10c]"></a>print_response_info</STRONG> (Thumb, 72 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[10d]"></a>GetATData</STRONG> (Thumb, 992 bytes, Stack size 200 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3Recv_Clear
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_http_response
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PackOK
</UL>

<P><STRONG><a name="[110]"></a>PackOK</STRONG> (Thumb, 58 bytes, Stack size 216 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HttpGetBin
</UL>

<P><STRONG><a name="[112]"></a>EraseApp2</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, ota.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HttpGetBin
</UL>

<P><STRONG><a name="[111]"></a>HttpGetBin</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[112]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EraseApp2
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PackOK
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
</UL>

<P><STRONG><a name="[113]"></a>send_to_server</STRONG> (Thumb, 54 bytes, Stack size 96 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 344 + Unknown Stack Size
<LI>Call Chain = send_to_server &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
</UL>

<P><STRONG><a name="[114]"></a>recv_from_server</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
</UL>

<P><STRONG><a name="[115]"></a>get_file_size</STRONG> (Thumb, 72 bytes, Stack size 280 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 836 + Unknown Stack Size
<LI>Call Chain = get_file_size &rArr; parse_http_response &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_http_response
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atol
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2snprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
</UL>

<P><STRONG><a name="[118]"></a>save_to_storage</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = save_to_storage &rArr; MyFLASH_ProgramHalfWord &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
</UL>
<BR>[Called By]<UL><LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
</UL>

<P><STRONG><a name="[119]"></a>download_in_chunks</STRONG> (Thumb, 262 bytes, Stack size 328 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 672 + Unknown Stack Size
<LI>Call Chain = download_in_chunks &rArr; send_to_server &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[118]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;save_to_storage
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[11d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_with_retry
</UL>

<P><STRONG><a name="[11d]"></a>download_with_retry</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
</UL>

<P><STRONG><a name="[11e]"></a>validate_file</STRONG> (Thumb, 112 bytes, Stack size 104 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 884 + Unknown Stack Size
<LI>Call Chain = validate_file &rArr; calc_app2_md5 &rArr; MD5_Final &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_md5
<LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calc_app2_md5
<LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncpy
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[122]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcasecmp
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
</UL>

<P><STRONG><a name="[124]"></a>merge_chunks</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, ota.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
</UL>

<P><STRONG><a name="[123]"></a>NoUpgrade</STRONG> (Thumb, 82 bytes, Stack size 280 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 788 + Unknown Stack Size
<LI>Call Chain = NoUpgrade &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[10b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2snprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
</UL>

<P><STRONG><a name="[102]"></a>http_chunked_download</STRONG> (Thumb, 596 bytes, Stack size 8 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 892 + Unknown Stack Size
<LI>Call Chain = http_chunked_download &rArr; validate_file &rArr; calc_app2_md5 &rArr; MD5_Final &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Reboot
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[124]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;merge_chunks
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
</UL>

<P><STRONG><a name="[fd]"></a>OTA_Reboot</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = OTA_Reboot &rArr; AT24C08_WriteOneByte &rArr; IIC_SendOneByte &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_SystemReset
</UL>
<BR>[Called By]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_App2
</UL>

<P><STRONG><a name="[11f]"></a>calc_app2_md5</STRONG> (Thumb, 92 bytes, Stack size 640 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 780<LI>Call Chain = calc_app2_md5 &rArr; MD5_Final &rArr; md5_transform
</UL>
<BR>[Calls]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Final
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Update
<LI><a href="#[125]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Init
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
</UL>

<P><STRONG><a name="[120]"></a>print_md5</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = print_md5 &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
</UL>

<P><STRONG><a name="[126]"></a>SendATCmdHttp</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3Recv_Clear
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>

<P><STRONG><a name="[fc]"></a>MyFLASH_ProgramHalfWord</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, ota.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = MyFLASH_ProgramHalfWord &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[127]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
</UL>
<BR>[Called By]<UL><LI><a href="#[118]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;save_to_storage
<LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_OTA
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_App2
</UL>

<P><STRONG><a name="[128]"></a>mqttjz2</STRONG> (Thumb, 112 bytes, Stack size 112 bytes, ota.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[c1]"></a>delay_init</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, delay.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = delay_init
</UL>
<BR>[Calls]<UL><LI><a href="#[129]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_CLKSourceConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[3a1]"></a>delay_ms</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, delay.o(.text), UNUSED)

<P><STRONG><a name="[3a2]"></a>TimingDelay_Decrement</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, delay.o(.text), UNUSED)

<P><STRONG><a name="[189]"></a>Delay_us</STRONG> (Thumb, 64 bytes, Stack size 20 bytes, delay.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadByte
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
</UL>

<P><STRONG><a name="[10e]"></a>Uart3Recv_Clear</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Uart3Recv_Clear
</UL>
<BR>[Calls]<UL><LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<BR>[Called By]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmdHttp
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
</UL>

<P><STRONG><a name="[12b]"></a>Uart3_RecvFlag</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Uart3_RecvFlag
</UL>
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
</UL>

<P><STRONG><a name="[e0]"></a>HAL_UART3_RxCpltCallback</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_UART3_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_IRQHandler
</UL>

<P><STRONG><a name="[9e]"></a>UART3_RecvDealwith</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, uart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sensor_task
</UL>

<P><STRONG><a name="[12e]"></a>USART3_GPIO_Config_Init</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USART3_GPIO_Config_Init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinRemapConfig
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
</UL>

<P><STRONG><a name="[131]"></a>USART3_RCC_Configuration</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = USART3_RCC_Configuration
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
</UL>

<P><STRONG><a name="[134]"></a>USART3_Config_Init</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 92<LI>Call Chain = USART3_Config_Init &rArr; USART_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Cmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
</UL>

<P><STRONG><a name="[137]"></a>USART3_NVIC_Configuration</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USART3_NVIC_Configuration &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_PriorityGroupConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_init
</UL>

<P><STRONG><a name="[c2]"></a>usart3_init</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = usart3_init &rArr; USART3_Config_Init &rArr; USART_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_NVIC_Configuration
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_Config_Init
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_RCC_Configuration
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_GPIO_Config_Init
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3Recv_Clear
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[b2]"></a>usart3_send</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_SendData
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetFlagStatus
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearFlag
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmdHttp
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[273]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Send
</UL>

<P><STRONG><a name="[10f]"></a>usart3_recv</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 224 + Unknown Stack Size
<LI>Call Chain = usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlag
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmdHttp
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;recv_from_server
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
</UL>

<P><STRONG><a name="[9a]"></a>_sys_exit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, uart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
<LI><a href="#[335]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__sig_exit
</UL>

<P><STRONG><a name="[60]"></a>fputc</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, uart.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> _printf_char_file.o(.text)
</UL>
<P><STRONG><a name="[33d]"></a>_ttywrch</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, uart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__default_signal_display
</UL>

<P><STRONG><a name="[e1]"></a>HAL_UART1_RxCpltCallback</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_UART1_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>

<P><STRONG><a name="[13c]"></a>UART1_RecvDealwith</STRONG> (Thumb, 122 bytes, Stack size 8 bytes, uart.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ParseProductProtocol
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IsCompleted
</UL>

<P><STRONG><a name="[c3]"></a>uart1_init</STRONG> (Thumb, 152 bytes, Stack size 32 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = uart1_init &rArr; USART_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Cmd
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[e2]"></a>HAL_UART2_RxCpltCallback</STRONG> (Thumb, 238 bytes, Stack size 8 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_UART2_RxCpltCallback &rArr; USART_ITConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
</UL>

<P><STRONG><a name="[c4]"></a>uart2_init</STRONG> (Thumb, 162 bytes, Stack size 32 bytes, uart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = uart2_init &rArr; USART_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ITConfig
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Cmd
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c5]"></a>IIC_GPIO_Config_Init</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IIC_GPIO_Config_Init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c6]"></a>IIC_Init</STRONG> (Thumb, 72 bytes, Stack size 24 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = IIC_Init &rArr; I2C_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_Init
<LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_DeInit
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_Cmd
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[142]"></a>IIC_SendStart</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = IIC_SendStart &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_GenerateSTART
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_CheckEvent
</UL>
<BR>[Called By]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>

<P><STRONG><a name="[147]"></a>delayms</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, 24c08.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
</UL>

<P><STRONG><a name="[145]"></a>IIC_SendStop</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = IIC_SendStop
</UL>
<BR>[Calls]<UL><LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_GenerateSTOP
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delayms
</UL>
<BR>[Called By]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>

<P><STRONG><a name="[148]"></a>IIC_SendAddr</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IIC_SendAddr &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_SendData
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_CheckEvent
</UL>
<BR>[Called By]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>

<P><STRONG><a name="[14a]"></a>IIC_SendOneByte</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IIC_SendOneByte &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_SendData
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_CheckEvent
</UL>
<BR>[Called By]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteOneByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>

<P><STRONG><a name="[14b]"></a>IIC_RecvOneByte</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[14d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_ReceiveData
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_CheckEvent
<LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_AcknowledgeConfig
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delayms
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
</UL>

<P><STRONG><a name="[f5]"></a>AT24C08_WriteOneByte</STRONG> (Thumb, 118 bytes, Stack size 24 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = AT24C08_WriteOneByte &rArr; IIC_SendOneByte &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delayms
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>
<BR>[Called By]<UL><LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Reboot
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetCnt
</UL>

<P><STRONG><a name="[af]"></a>AT24C08_ReadOneByte</STRONG> (Thumb, 124 bytes, Stack size 24 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = AT24C08_ReadOneByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>
<BR>[Called By]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetCnt
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64RW
</UL>

<P><STRONG><a name="[14e]"></a>AT24C08_ReadByte</STRONG> (Thumb, 140 bytes, Stack size 32 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192 + Unknown Stack Size
<LI>Call Chain = AT24C08_ReadByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>
<BR>[Called By]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLiquidAlarmInfo
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadServerCfg
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64RW
</UL>

<P><STRONG><a name="[14f]"></a>AT24C08_PageWrite</STRONG> (Thumb, 136 bytes, Stack size 32 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = AT24C08_PageWrite &rArr; IIC_SendOneByte &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delayms
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>
<BR>[Called By]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
</UL>

<P><STRONG><a name="[150]"></a>AT24C08_WriteByte</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, 24c08.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = AT24C08_WriteByte &rArr; AT24C08_PageWrite &rArr; IIC_SendOneByte &rArr; I2C_CheckEvent
</UL>
<BR>[Calls]<UL><LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_PageWrite
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
</UL>
<BR>[Called By]<UL><LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLiquidAlarmInfo
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64RW
</UL>

<P><STRONG><a name="[c9]"></a>ADC_Config_Init</STRONG> (Thumb, 116 bytes, Stack size 24 bytes, adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = ADC_Config_Init &rArr; ADC_RegularChannelConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[156]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_StartCalibration
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_SoftwareStartConvCmd
<LI><a href="#[154]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_ResetCalibration
<LI><a href="#[152]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_RegularChannelConfig
<LI><a href="#[151]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Init
<LI><a href="#[155]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GetResetCalibrationStatus
<LI><a href="#[157]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GetCalibrationStatus
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Cmd
<LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c8]"></a>ADC_GPIO_Config_Init</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = ADC_GPIO_Config_Init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[159]"></a>GetVoltage</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 208 + Unknown Stack Size
<LI>Call Chain = GetVoltage &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_SoftwareStartConvCmd
<LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GetFlagStatus
<LI><a href="#[15b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GetConversionValue
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
</UL>
<BR>[Called By]<UL><LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
</UL>

<P><STRONG><a name="[aa]"></a>GetLiquidDepth</STRONG> (Thumb, 184 bytes, Stack size 24 bytes, adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 232 + Unknown Stack Size
<LI>Call Chain = GetLiquidDepth &rArr; GetVoltage &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVoltage
<LI><a href="#[15d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cfcmple
<LI><a href="#[15c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2f
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[ca]"></a>GPIO_Config_InitPB4</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = GPIO_Config_InitPB4 &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinRemapConfig
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[cb]"></a>GPIO_Config_InitPB</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = GPIO_Config_InitPB &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[cc]"></a>GPIO_Config_InitPAInput</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = GPIO_Config_InitPAInput &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[15e]"></a>ReadPA1</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>

<P><STRONG><a name="[160]"></a>ReadPA0</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>

<P><STRONG><a name="[161]"></a>ReadPA5</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>

<P><STRONG><a name="[cd]"></a>GPIO_Config_InitPAOutput</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = GPIO_Config_InitPAOutput &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ce]"></a>GPIO_Config_InitPCOutput</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = GPIO_Config_InitPCOutput &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[162]"></a>GPIO_Config_InitPCInput</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>

<P><STRONG><a name="[163]"></a>ReadPC3</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>

<P><STRONG><a name="[b1]"></a>SendATCmd</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, 4g.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 248 + Unknown Stack Size
<LI>Call Chain = SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3Recv_Clear
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz2
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HttpGetBin
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PackOK
<LI><a href="#[108]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Httpjz
<LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Httpjz1K
<LI><a href="#[106]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HttpjzVER
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
</UL>

<P><STRONG><a name="[a4]"></a>Init_4G</STRONG> (Thumb, 416 bytes, Stack size 528 bytes, 4g.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 776 + Unknown Stack Size
<LI>Call Chain = Init_4G &rArr; SendATCmd &rArr; usart3_recv &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[166]"></a>PublishMsg</STRONG> (Thumb, 98 bytes, Stack size 64 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishLiquidInfo
</UL>

<P><STRONG><a name="[b8]"></a>PublishMsg2</STRONG> (Thumb, 96 bytes, Stack size 64 bytes, 4g.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 320 + Unknown Stack Size
<LI>Call Chain = PublishMsg2 &rArr; MQTTSerialize_publish &rArr; writeMQTTString &rArr; writeCString &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[169]"></a>Subscribe</STRONG> (Thumb, 66 bytes, Stack size 40 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
</UL>

<P><STRONG><a name="[16b]"></a>PublishLiquidInfo</STRONG> (Thumb, 52 bytes, Stack size 288 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2snprintf
</UL>

<P><STRONG><a name="[16c]"></a>LoginOnServer</STRONG> (Thumb, 588 bytes, Stack size 1456 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
</UL>

<P><STRONG><a name="[170]"></a>Open_4G_Device</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>

<P><STRONG><a name="[172]"></a>Reset_4G_Device</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
</UL>

<P><STRONG><a name="[173]"></a>Processing_Message</STRONG> (Thumb, 372 bytes, Stack size 1040 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[175]"></a>Send_HeartBeat</STRONG> (Thumb, 268 bytes, Stack size 1384 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>

<P><STRONG><a name="[176]"></a>Send_Get_Deviceinfo_Req</STRONG> (Thumb, 388 bytes, Stack size 1392 bytes, 4g.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>

<P><STRONG><a name="[177]"></a>SendCmdToLora</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_SendData
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetFlagStatus
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
</UL>

<P><STRONG><a name="[178]"></a>SendDataToLora</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, lora.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = SendDataToLora &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_SendData
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetFlagStatus
<LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[179]"></a>ReceDataFromLora</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, lora.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ReceDataFromLora
</UL>
<BR>[Calls]<UL><LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Get_SlaveData
</UL>

<P><STRONG><a name="[17a]"></a>DefaultLoraDevice</STRONG> (Thumb, 180 bytes, Stack size 384 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[17b]"></a>SetLORASpeed</STRONG> (Thumb, 184 bytes, Stack size 384 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[17c]"></a>ReadLORASpeed</STRONG> (Thumb, 156 bytes, Stack size 264 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[17e]"></a>ReadLORAVersion</STRONG> (Thumb, 108 bytes, Stack size 136 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[17f]"></a>SetLORAPower</STRONG> (Thumb, 340 bytes, Stack size 384 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[180]"></a>ReadLORAPower</STRONG> (Thumb, 164 bytes, Stack size 264 bytes, lora.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[cf]"></a>WDT_Init</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, wdt.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = WDT_Init &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[181]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_LSICmd
<LI><a href="#[182]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetFlagStatus
<LI><a href="#[183]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_WriteAccessCmd
<LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_SetReload
<LI><a href="#[184]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_SetPrescaler
<LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_ReloadCounter
<LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_Enable
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[b3]"></a>FeedDog</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, wdt.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = FeedDog
</UL>
<BR>[Calls]<UL><LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IWDG_ReloadCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HttpGetBin
<LI><a href="#[108]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Httpjz
<LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvHttp
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EraseOTA
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Erase
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[d2]"></a>Init18B20_GPIO</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = Init18B20_GPIO &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[188]"></a>Init18b20</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = Init18b20 &rArr; Delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadID
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Config18b20
</UL>

<P><STRONG><a name="[18a]"></a>WriteByte</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = WriteByte &rArr; Delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadID
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Config18b20
</UL>

<P><STRONG><a name="[18b]"></a>ReadByte</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = ReadByte &rArr; Delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Read_18B20
</UL>

<P><STRONG><a name="[18c]"></a>Read_18B20</STRONG> (Thumb, 36 bytes, Stack size 24 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Read_18B20 &rArr; ReadByte &rArr; Delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadByte
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadID
</UL>

<P><STRONG><a name="[18f]"></a>Temp_CRC</STRONG> (Thumb, 38 bytes, Stack size 12 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Temp_CRC
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
</UL>

<P><STRONG><a name="[18d]"></a>Config18b20</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, ds18b20.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
</UL>

<P><STRONG><a name="[18e]"></a>ReadID</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, ds18b20.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Read_18B20
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
</UL>

<P><STRONG><a name="[ae]"></a>DS18B20_Get_Temp</STRONG> (Thumb, 214 bytes, Stack size 48 bytes, ds18b20.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 248 + Unknown Stack Size
<LI>Call Chain = DS18B20_Get_Temp &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[18f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Temp_CRC
<LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Read_18B20
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[191]"></a>Test24C64RW</STRONG> (Thumb, 120 bytes, Stack size 56 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadOneByte
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[192]"></a>WriteServerCfg</STRONG> (Thumb, 614 bytes, Stack size 88 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64
</UL>

<P><STRONG><a name="[193]"></a>Test24C64</STRONG> (Thumb, 44 bytes, Stack size 360 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
</UL>

<P><STRONG><a name="[194]"></a>ReadServerCfg</STRONG> (Thumb, 564 bytes, Stack size 104 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncpy
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
</UL>

<P><STRONG><a name="[d7]"></a>WriteDevInfo</STRONG> (Thumb, 440 bytes, Stack size 328 bytes, config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 528 + Unknown Stack Size
<LI>Call Chain = WriteDevInfo &rArr; vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[d6]"></a>ReadDevInfo</STRONG> (Thumb, 322 bytes, Stack size 312 bytes, config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 504 + Unknown Stack Size
<LI>Call Chain = ReadDevInfo &rArr; AT24C08_ReadByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncpy
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
</UL>

<P><STRONG><a name="[195]"></a>WriteLiquidAlarmInfo</STRONG> (Thumb, 192 bytes, Stack size 280 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
</UL>

<P><STRONG><a name="[d8]"></a>ReadLiquidAlarmInfo</STRONG> (Thumb, 210 bytes, Stack size 280 bytes, config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 472 + Unknown Stack Size
<LI>Call Chain = ReadLiquidAlarmInfo &rArr; AT24C08_ReadByte &rArr; IIC_RecvOneByte &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[196]"></a>WriteLORAChn</STRONG> (Thumb, 314 bytes, Stack size 352 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_WriteByte
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[197]"></a>ReadLORAChn</STRONG> (Thumb, 244 bytes, Stack size 328 bytes, config.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AT24C08_ReadByte
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
</UL>

<P><STRONG><a name="[198]"></a>Open_Led</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, led.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
</UL>

<P><STRONG><a name="[199]"></a>Close_Led</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, led.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>

<P><STRONG><a name="[19a]"></a>MyRTC_SetTime</STRONG> (Thumb, 70 bytes, Stack size 56 bytes, myrtc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = MyRTC_SetTime &rArr; mktime &rArr; _tm_carry
</UL>
<BR>[Calls]<UL><LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WaitForLastTask
<LI><a href="#[19c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetCounter
<LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mktime
</UL>
<BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[d3]"></a>MyRTC_Init</STRONG> (Thumb, 148 bytes, Stack size 24 bytes, myrtc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = MyRTC_Init &rArr; MyRTC_SetTime &rArr; mktime &rArr; _tm_carry
</UL>
<BR>[Calls]<UL><LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WaitForSynchro
<LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WaitForLastTask
<LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetPrescaler
<LI><a href="#[1a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_RTCCLKConfig
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_RTCCLKCmd
<LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_LSEConfig
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PWR_BackupAccessCmd
<LI><a href="#[1a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BKP_WriteBackupRegister
<LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BKP_ReadBackupRegister
<LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_SetTime
<LI><a href="#[182]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetFlagStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[b6]"></a>MyRTC_ReadTime</STRONG> (Thumb, 82 bytes, Stack size 64 bytes, myrtc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = MyRTC_ReadTime &rArr; localtime &rArr; _localtime_r &rArr; __aeabi_memclr4
</UL>
<BR>[Calls]<UL><LI><a href="#[1a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_GetCounter
<LI><a href="#[1a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;localtime
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[1a8]"></a>CRC16</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IsCompleted
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
</UL>

<P><STRONG><a name="[13d]"></a>IsCompleted</STRONG> (Thumb, 86 bytes, Stack size 28 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_RecvDealwith
</UL>

<P><STRONG><a name="[16e]"></a>Parse_Message_From_Server</STRONG> (Thumb, 312 bytes, Stack size 536 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 680 + Unknown Stack Size
<LI>Call Chain = Parse_Message_From_Server &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Get_SlaveData
</UL>

<P><STRONG><a name="[1a9]"></a>Host_Device_Get_SlaveData</STRONG> (Thumb, 74 bytes, Stack size 272 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 952 + Unknown Stack Size
<LI>Call Chain = Host_Device_Get_SlaveData &rArr; Parse_Message_From_Server &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[179]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReceDataFromLora
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
</UL>

<P><STRONG><a name="[b7]"></a>MessageOrderToMQTT</STRONG> (Thumb, 400 bytes, Stack size 424 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 568 + Unknown Stack Size
<LI>Call Chain = MessageOrderToMQTT &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[1a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[1aa]"></a>Host_Device_Request_Data</STRONG> (Thumb, 212 bytes, Stack size 328 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 1004 + Unknown Stack Size
<LI>Call Chain = Host_Device_Request_Data &rArr; cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
<LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintUnformatted
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
</UL>

<P><STRONG><a name="[b5]"></a>RequestJsonData</STRONG> (Thumb, 1944 bytes, Stack size 576 bytes, protocol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 1580 + Unknown Stack Size
<LI>Call Chain = RequestJsonData &rArr; Host_Device_Request_Data &rArr; cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
<LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintUnformatted
<LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Parse
<LI><a href="#[1b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsString
<LI><a href="#[1b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsNumber
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItemCaseSensitive
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToObject
<LI><a href="#[1b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToArray
<LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddBoolToObject
<LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Switching_Operate
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Get_SlaveData
<LI><a href="#[15d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cfcmple
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fdiv
<LI><a href="#[1b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fsub
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[16f]"></a>Parse_Mqttcmd</STRONG> (Thumb, 1746 bytes, Stack size 120 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Parse
<LI><a href="#[1b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsString
<LI><a href="#[1b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsNumber
<LI><a href="#[1bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsArray
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItemCaseSensitive
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetArraySize
<LI><a href="#[1be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetArrayItem
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncpy
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
</UL>

<P><STRONG><a name="[174]"></a>ResponseJsonData</STRONG> (Thumb, 1532 bytes, Stack size 1560 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[179]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReceDataFromLora
<LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
<LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintUnformatted
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToObject
<LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Switching_Operate
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_Led
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
</UL>

<P><STRONG><a name="[3a3]"></a>reverse_bits</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, protocol.o(.text), UNUSED)

<P><STRONG><a name="[3a4]"></a>Int2String</STRONG> (Thumb, 128 bytes, Stack size 16 bytes, protocol.o(.text), UNUSED)

<P><STRONG><a name="[1c0]"></a>Slave_Device_Response_Data</STRONG> (Thumb, 666 bytes, Stack size 800 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[179]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReceDataFromLora
<LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
<LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintUnformatted
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
<LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddBoolToObject
<LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Switching_Operate
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[1c1]"></a>Parse10011</STRONG> (Thumb, 110 bytes, Stack size 192 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Parse
<LI><a href="#[1b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsNumber
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItemCaseSensitive
<LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLiquidAlarmInfo
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ParseProductProtocol
</UL>

<P><STRONG><a name="[1c2]"></a>PickStringFromJson</STRONG> (Thumb, 166 bytes, Stack size 40 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
</UL>
<BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
</UL>

<P><STRONG><a name="[1c3]"></a>PickNumFromJson</STRONG> (Thumb, 156 bytes, Stack size 48 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strstr
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
</UL>
<BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
</UL>

<P><STRONG><a name="[1c4]"></a>Parse10006</STRONG> (Thumb, 430 bytes, Stack size 720 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickNumFromJson
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickStringFromJson
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadServerCfg
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ParseProductProtocol
</UL>

<P><STRONG><a name="[1c5]"></a>Parse10013</STRONG> (Thumb, 534 bytes, Stack size 40 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ParseProductProtocol
</UL>

<P><STRONG><a name="[13e]"></a>ParseProductProtocol</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, protocol.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10013
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_RecvDealwith
</UL>

<P><STRONG><a name="[1b8]"></a>Switching_Operate</STRONG> (Thumb, 542 bytes, Stack size 16 bytes, switching.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Switching_Operate
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[3a5]"></a>cJSON_GetErrorPtr</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[1b3]"></a>cJSON_IsString</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetStringValue
</UL>

<P><STRONG><a name="[1c6]"></a>cJSON_GetStringValue</STRONG> (Thumb, 20 bytes, Stack size 4 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsString
</UL>

<P><STRONG><a name="[1b4]"></a>cJSON_IsNumber</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetNumberValue
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
</UL>

<P><STRONG><a name="[1c7]"></a>cJSON_GetNumberValue</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsNumber
</UL>

<P><STRONG><a name="[1c8]"></a>cJSON_Version</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sprintf
</UL>

<P><STRONG><a name="[3a6]"></a>cJSON_InitHooks</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[1ae]"></a>cJSON_Delete</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16 + In Cycle
<LI>Call Chain = cJSON_Delete &rArr;  cJSON_Delete (Cycle)
</UL>
<BR>[Calls]<UL><LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Duplicate
<LI><a href="#[21d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringArray
<LI><a href="#[21c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateDoubleArray
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFloatArray
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateIntArray
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemViaPointer
<LI><a href="#[210]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromObjectCaseSensitive
<LI><a href="#[20f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromObject
<LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromArray
<LI><a href="#[209]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddArrayToObject
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddObjectToObject
<LI><a href="#[207]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddRawToObject
<LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateRaw
<LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateString
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddFalseToObject
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddTrueToObject
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNullToObject
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_array
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
<LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddBoolToObject
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[1d5]"></a>cJSON_SetNumberHelper</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[1d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
</UL>

<P><STRONG><a name="[1af]"></a>cJSON_free</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = cJSON_free
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetValuestring
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[1d6]"></a>cJSON_SetValuestring</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
</UL>

<P><STRONG><a name="[1e7]"></a>cJSON_ParseWithLengthOpts</STRONG> (Thumb, 204 bytes, Stack size 72 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 636 + Unknown Stack Size
<LI>Call Chain = cJSON_ParseWithLengthOpts &rArr; parse_value &rArr; parse_number &rArr; strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
<LI><a href="#[1e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;skip_utf8_bom
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_skip_whitespace
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLength
<LI><a href="#[1e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithOpts
</UL>

<P><STRONG><a name="[1e8]"></a>cJSON_ParseWithOpts</STRONG> (Thumb, 40 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 660 + Unknown Stack Size
<LI>Call Chain = cJSON_ParseWithOpts &rArr; cJSON_ParseWithLengthOpts &rArr; parse_value &rArr; parse_number &rArr; strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Parse
</UL>

<P><STRONG><a name="[1b1]"></a>cJSON_Parse</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 668 + Unknown Stack Size
<LI>Call Chain = cJSON_Parse &rArr; cJSON_ParseWithOpts &rArr; cJSON_ParseWithLengthOpts &rArr; parse_value &rArr; parse_number &rArr; strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithOpts
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
</UL>

<P><STRONG><a name="[1e9]"></a>cJSON_ParseWithLength</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
</UL>

<P><STRONG><a name="[1ee]"></a>cJSON_Print</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
</UL>

<P><STRONG><a name="[1ad]"></a>cJSON_PrintUnformatted</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 676 + Unknown Stack Size
<LI>Call Chain = cJSON_PrintUnformatted &rArr; print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[1ef]"></a>cJSON_PrintBuffered</STRONG> (Thumb, 90 bytes, Stack size 56 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>

<P><STRONG><a name="[1f0]"></a>cJSON_PrintPreallocated</STRONG> (Thumb, 64 bytes, Stack size 56 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>

<P><STRONG><a name="[1bd]"></a>cJSON_GetArraySize</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
</UL>

<P><STRONG><a name="[1be]"></a>cJSON_GetArrayItem</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_array_item
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
</UL>

<P><STRONG><a name="[1f3]"></a>cJSON_GetObjectItem</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
</UL>
<BR>[Called By]<UL><LI><a href="#[20d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObject
<LI><a href="#[1f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_HasObjectItem
</UL>

<P><STRONG><a name="[1b2]"></a>cJSON_GetObjectItemCaseSensitive</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = cJSON_GetObjectItemCaseSensitive &rArr; get_object_item &rArr; case_insensitive_strcmp &rArr; tolower &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObjectCaseSensitive
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
</UL>

<P><STRONG><a name="[1f4]"></a>cJSON_HasObjectItem</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItem
</UL>

<P><STRONG><a name="[1b7]"></a>cJSON_AddItemToArray</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = cJSON_AddItemToArray &rArr; add_item_to_array
</UL>
<BR>[Calls]<UL><LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_array
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
</UL>

<P><STRONG><a name="[1bb]"></a>cJSON_AddItemToObject</STRONG> (Thumb, 26 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = cJSON_AddItemToObject &rArr; add_item_to_object &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
</UL>

<P><STRONG><a name="[1fa]"></a>cJSON_AddItemToObjectCS</STRONG> (Thumb, 26 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
</UL>

<P><STRONG><a name="[1fb]"></a>cJSON_AddItemReferenceToArray</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_array
<LI><a href="#[1f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;create_reference
</UL>

<P><STRONG><a name="[1fc]"></a>cJSON_AddItemReferenceToObject</STRONG> (Thumb, 44 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;create_reference
</UL>

<P><STRONG><a name="[1fd]"></a>cJSON_CreateNull</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNullToObject
</UL>

<P><STRONG><a name="[1fe]"></a>cJSON_AddNullToObject</STRONG> (Thumb, 44 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNull
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[1ff]"></a>cJSON_CreateTrue</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddTrueToObject
</UL>

<P><STRONG><a name="[200]"></a>cJSON_AddTrueToObject</STRONG> (Thumb, 44 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateTrue
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[201]"></a>cJSON_CreateFalse</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddFalseToObject
</UL>

<P><STRONG><a name="[202]"></a>cJSON_AddFalseToObject</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFalse
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[203]"></a>cJSON_CreateBool</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size
<LI>Call Chain = cJSON_CreateBool &rArr; cJSON_New_Item &rArr; memset
</UL>
<BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddBoolToObject
</UL>

<P><STRONG><a name="[1b6]"></a>cJSON_AddBoolToObject</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88 + Unknown Stack Size
<LI>Call Chain = cJSON_AddBoolToObject &rArr; add_item_to_object &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateBool
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[204]"></a>cJSON_CreateNumber</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48 + Unknown Stack Size
<LI>Call Chain = cJSON_CreateNumber &rArr; __aeabi_cdcmple
</UL>
<BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[1d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
</UL>
<BR>[Called By]<UL><LI><a href="#[21c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateDoubleArray
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFloatArray
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateIntArray
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
</UL>

<P><STRONG><a name="[1b5]"></a>cJSON_AddNumberToObject</STRONG> (Thumb, 56 bytes, Stack size 32 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96 + Unknown Stack Size
<LI>Call Chain = cJSON_AddNumberToObject &rArr; add_item_to_object &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[205]"></a>cJSON_CreateString</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48 + Unknown Stack Size
<LI>Call Chain = cJSON_CreateString &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[21d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringArray
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
</UL>

<P><STRONG><a name="[1ac]"></a>cJSON_AddStringToObject</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88 + Unknown Stack Size
<LI>Call Chain = cJSON_AddStringToObject &rArr; add_item_to_object &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateString
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[206]"></a>cJSON_CreateRaw</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[207]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddRawToObject
</UL>

<P><STRONG><a name="[207]"></a>cJSON_AddRawToObject</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateRaw
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[1ab]"></a>cJSON_CreateObject</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = cJSON_CreateObject &rArr; cJSON_New_Item &rArr; memset
</UL>
<BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddObjectToObject
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
</UL>

<P><STRONG><a name="[208]"></a>cJSON_AddObjectToObject</STRONG> (Thumb, 44 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
</UL>

<P><STRONG><a name="[1b0]"></a>cJSON_CreateArray</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = cJSON_CreateArray &rArr; cJSON_New_Item &rArr; memset
</UL>
<BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[21d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringArray
<LI><a href="#[21c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateDoubleArray
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFloatArray
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateIntArray
<LI><a href="#[209]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddArrayToObject
</UL>

<P><STRONG><a name="[209]"></a>cJSON_AddArrayToObject</STRONG> (Thumb, 44 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
</UL>

<P><STRONG><a name="[20b]"></a>cJSON_DetachItemViaPointer</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObjectCaseSensitive
<LI><a href="#[20d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObject
<LI><a href="#[20a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromArray
</UL>

<P><STRONG><a name="[20a]"></a>cJSON_DetachItemFromArray</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemViaPointer
<LI><a href="#[1f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_array_item
</UL>
<BR>[Called By]<UL><LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromArray
</UL>

<P><STRONG><a name="[20c]"></a>cJSON_DeleteItemFromArray</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromArray
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[20d]"></a>cJSON_DetachItemFromObject</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemViaPointer
<LI><a href="#[1f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItem
</UL>
<BR>[Called By]<UL><LI><a href="#[20f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromObject
</UL>

<P><STRONG><a name="[20e]"></a>cJSON_DetachItemFromObjectCaseSensitive</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemViaPointer
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItemCaseSensitive
</UL>
<BR>[Called By]<UL><LI><a href="#[210]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DeleteItemFromObjectCaseSensitive
</UL>

<P><STRONG><a name="[20f]"></a>cJSON_DeleteItemFromObject</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObject
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[210]"></a>cJSON_DeleteItemFromObjectCaseSensitive</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromObjectCaseSensitive
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>

<P><STRONG><a name="[211]"></a>cJSON_InsertItemInArray</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_array
<LI><a href="#[1f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_array_item
</UL>

<P><STRONG><a name="[212]"></a>cJSON_ReplaceItemViaPointer</STRONG> (Thumb, 96 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[213]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemInArray
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
</UL>

<P><STRONG><a name="[213]"></a>cJSON_ReplaceItemInArray</STRONG> (Thumb, 42 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemViaPointer
<LI><a href="#[1f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_array_item
</UL>

<P><STRONG><a name="[215]"></a>cJSON_ReplaceItemInObject</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
</UL>

<P><STRONG><a name="[216]"></a>cJSON_ReplaceItemInObjectCaseSensitive</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
</UL>

<P><STRONG><a name="[217]"></a>cJSON_CreateStringReference</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cast_away_const
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>

<P><STRONG><a name="[218]"></a>cJSON_CreateObjectReference</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cast_away_const
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>

<P><STRONG><a name="[219]"></a>cJSON_CreateArrayReference</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cast_away_const
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>

<P><STRONG><a name="[21a]"></a>cJSON_CreateIntArray</STRONG> (Thumb, 110 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;suffix_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
</UL>

<P><STRONG><a name="[21b]"></a>cJSON_CreateFloatArray</STRONG> (Thumb, 110 bytes, Stack size 40 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;suffix_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
</UL>

<P><STRONG><a name="[21c]"></a>cJSON_CreateDoubleArray</STRONG> (Thumb, 106 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;suffix_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
</UL>

<P><STRONG><a name="[21d]"></a>cJSON_CreateStringArray</STRONG> (Thumb, 100 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateString
<LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;suffix_object
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
</UL>

<P><STRONG><a name="[21e]"></a>cJSON_Duplicate</STRONG> (Thumb, 188 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Duplicate
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Duplicate
</UL>

<P><STRONG><a name="[21f]"></a>cJSON_Minify</STRONG> (Thumb, 158 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[222]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;minify_string
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;skip_multiline_comment
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;skip_oneline_comment
</UL>

<P><STRONG><a name="[224]"></a>cJSON_IsInvalid</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
</UL>

<P><STRONG><a name="[3a7]"></a>cJSON_IsFalse</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[3a8]"></a>cJSON_IsTrue</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[3a9]"></a>cJSON_IsBool</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[3aa]"></a>cJSON_IsNull</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[1bc]"></a>cJSON_IsArray</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
</UL>

<P><STRONG><a name="[3ab]"></a>cJSON_IsObject</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[3ac]"></a>cJSON_IsRaw</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[223]"></a>cJSON_Compare</STRONG> (Thumb, 392 bytes, Stack size 32 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_IsInvalid
<LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
<LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
</UL>

<P><STRONG><a name="[3ad]"></a>cJSON_malloc</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, cjson.o(.text), UNUSED)

<P><STRONG><a name="[225]"></a>OLED_W_D0</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_W_D0
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SPI_SendByte
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[226]"></a>OLED_W_D1</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SPI_SendByte
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[3ae]"></a>OLED_W_RES</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, oled.o(.text), UNUSED)

<P><STRONG><a name="[227]"></a>OLED_W_DC</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_W_DC
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteData
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteCommand
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[228]"></a>OLED_W_CS</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_W_CS
</UL>
<BR>[Calls]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteData
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteCommand
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[229]"></a>OLED_GPIO_Init</STRONG> (Thumb, 136 bytes, Stack size 16 bytes, oled.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
<LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_CS
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_DC
<LI><a href="#[226]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D1
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D0
</UL>

<P><STRONG><a name="[22a]"></a>OLED_SPI_SendByte</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[226]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D1
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D0
</UL>
<BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteData
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteCommand
</UL>

<P><STRONG><a name="[22b]"></a>OLED_WriteCommand</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = OLED_WriteCommand &rArr; OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SPI_SendByte
<LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_CS
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_DC
</UL>
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Init
<LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SetCursor
</UL>

<P><STRONG><a name="[22c]"></a>OLED_WriteData</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = OLED_WriteData &rArr; OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SPI_SendByte
<LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_CS
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_DC
</UL>
<BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_UpdateArea
</UL>

<P><STRONG><a name="[22d]"></a>OLED_SetCursor</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = OLED_SetCursor &rArr; OLED_WriteCommand &rArr; OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_UpdateArea
</UL>

<P><STRONG><a name="[a8]"></a>OLED_Update</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = OLED_Update &rArr; OLED_SetCursor &rArr; OLED_WriteCommand &rArr; OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SetCursor
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteData
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Init
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[da]"></a>OLED_Clear</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, oled.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Init
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[d1]"></a>OLED_Init</STRONG> (Thumb, 150 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = OLED_Init &rArr; OLED_Update &rArr; OLED_SetCursor &rArr; OLED_WriteCommand &rArr; OLED_SPI_SendByte &rArr; OLED_W_D1
</UL>
<BR>[Calls]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Update
<LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Clear
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[234]"></a>OLED_Pow</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_Pow
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[235]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowSignedNum
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowNum
</UL>

<P><STRONG><a name="[3af]"></a>OLED_pnpoly</STRONG> (Thumb, 140 bytes, Stack size 28 bytes, oled.o(.text), UNUSED)

<P><STRONG><a name="[22e]"></a>OLED_IsInAngle</STRONG> (Thumb, 110 bytes, Stack size 80 bytes, oled.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_i2d
<LI><a href="#[1d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
</UL>

<P><STRONG><a name="[230]"></a>OLED_UpdateArea</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, oled.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_SetCursor
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_WriteData
</UL>

<P><STRONG><a name="[a6]"></a>OLED_ClearArea</STRONG> (Thumb, 160 bytes, Stack size 28 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = OLED_ClearArea
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[231]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowImage
</UL>

<P><STRONG><a name="[231]"></a>OLED_ShowImage</STRONG> (Thumb, 248 bytes, Stack size 52 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = OLED_ShowImage &rArr; OLED_ClearArea
</UL>
<BR>[Calls]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ClearArea
</UL>
<BR>[Called By]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowChar
</UL>

<P><STRONG><a name="[232]"></a>OLED_ShowChar</STRONG> (Thumb, 74 bytes, Stack size 24 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = OLED_ShowChar &rArr; OLED_ShowImage &rArr; OLED_ClearArea
</UL>
<BR>[Calls]<UL><LI><a href="#[231]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowImage
</UL>
<BR>[Called By]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[235]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowSignedNum
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowNum
</UL>

<P><STRONG><a name="[a7]"></a>OLED_ShowString</STRONG> (Thumb, 262 bytes, Stack size 48 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = OLED_ShowString &rArr; OLED_ShowChar &rArr; OLED_ShowImage &rArr; OLED_ClearArea
</UL>
<BR>[Calls]<UL><LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowChar
<LI><a href="#[231]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowImage
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[23a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Printf
</UL>

<P><STRONG><a name="[233]"></a>OLED_ShowNum</STRONG> (Thumb, 76 bytes, Stack size 32 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = OLED_ShowNum &rArr; OLED_ShowChar &rArr; OLED_ShowImage &rArr; OLED_ClearArea
</UL>
<BR>[Calls]<UL><LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowChar
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Pow
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
</UL>

<P><STRONG><a name="[235]"></a>OLED_ShowSignedNum</STRONG> (Thumb, 112 bytes, Stack size 36 bytes, oled.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowChar
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Pow
</UL>

<P><STRONG><a name="[ad]"></a>OLED_ShowFloatNum</STRONG> (Thumb, 210 bytes, Stack size 80 bytes, oled.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 216<LI>Call Chain = OLED_ShowFloatNum &rArr; OLED_ShowNum &rArr; OLED_ShowChar &rArr; OLED_ShowImage &rArr; OLED_ClearArea
</UL>
<BR>[Calls]<UL><LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowNum
<LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowChar
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Pow
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
<LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ui2d
<LI><a href="#[236]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2uiz
<LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[23a]"></a>OLED_Printf</STRONG> (Thumb, 50 bytes, Stack size 296 bytes, oled.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[23b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vsprintf
</UL>

<P><STRONG><a name="[d]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[46]"></a>ADC3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4f]"></a>DMA2_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[50]"></a>DMA2_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[51]"></a>DMA2_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[52]"></a>DMA2_Channel4_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3f]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[47]"></a>FSMC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[37]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[36]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[38]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[40]"></a>RTCAlarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[48]"></a>SDIO_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3a]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[3b]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4a]"></a>SPI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>TIM2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>TIM3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[35]"></a>TIM4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[49]"></a>TIM5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4d]"></a>TIM6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4e]"></a>TIM7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[42]"></a>TIM8_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[45]"></a>TIM8_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[44]"></a>TIM8_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[43]"></a>TIM8_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4b]"></a>UART4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>UART5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[41]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_hd.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_hd.o(RESET)
</UL>
<P><STRONG><a name="[337]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_hd.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>

<P><STRONG><a name="[23c]"></a>GPIO_DeInit</STRONG> (Thumb, 172 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
</UL>

<P><STRONG><a name="[23e]"></a>GPIO_AFIODeInit</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
</UL>

<P><STRONG><a name="[12f]"></a>GPIO_Init</STRONG> (Thumb, 278 bytes, Stack size 24 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPCInput
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_GPIO_Config_Init
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18B20_GPIO
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_GPIO_Config_Init
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPCOutput
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB4
<LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAOutput
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAInput
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GPIO_Config_Init
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[3b0]"></a>GPIO_StructInit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[15f]"></a>GPIO_ReadInputDataBit</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[163]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadPC3
<LI><a href="#[161]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadPA5
<LI><a href="#[160]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadPA0
<LI><a href="#[15e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadPA1
<LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Switching_Operate
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Config18b20
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
</UL>

<P><STRONG><a name="[3b1]"></a>GPIO_ReadInputData</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b2]"></a>GPIO_ReadOutputDataBit</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b3]"></a>GPIO_ReadOutputData</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[165]"></a>GPIO_SetBits</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[179]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReceDataFromLora
<LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
</UL>

<P><STRONG><a name="[164]"></a>GPIO_ResetBits</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
</UL>

<P><STRONG><a name="[171]"></a>GPIO_WriteBit</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_4G_Device
<LI><a href="#[170]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_4G_Device
<LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_CS
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_DC
<LI><a href="#[226]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D1
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_W_D0
<LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Switching_Operate
<LI><a href="#[199]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_Led
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_Led
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Config18b20
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadByte
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteByte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18b20
</UL>

<P><STRONG><a name="[3b4]"></a>GPIO_Write</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b5]"></a>GPIO_PinLockConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b6]"></a>GPIO_EventOutputConfig</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b7]"></a>GPIO_EventOutputCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[130]"></a>GPIO_PinRemapConfig</STRONG> (Thumb, 138 bytes, Stack size 20 bytes, stm32f10x_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_PinRemapConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_GPIO_Config_Init
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB4
</UL>

<P><STRONG><a name="[3b8]"></a>GPIO_EXTILineConfig</STRONG> (Thumb, 66 bytes, Stack size 12 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3b9]"></a>GPIO_ETH_MediaInterfaceConfig</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[3ba]"></a>RCC_DeInit</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3bb]"></a>RCC_HSEConfig</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[182]"></a>RCC_GetFlagStatus</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RCC_GetFlagStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
<LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_WaitForHSEStartUp
</UL>

<P><STRONG><a name="[23f]"></a>RCC_WaitForHSEStartUp</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, stm32f10x_rcc.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[182]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetFlagStatus
</UL>

<P><STRONG><a name="[3bc]"></a>RCC_AdjustHSICalibrationValue</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3bd]"></a>RCC_HSICmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3be]"></a>RCC_PLLConfig</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3bf]"></a>RCC_PLLCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c0]"></a>RCC_SYSCLKConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c1]"></a>RCC_GetSYSCLKSource</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c2]"></a>RCC_HCLKConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c3]"></a>RCC_PCLK1Config</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c4]"></a>RCC_PCLK2Config</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c5]"></a>RCC_ITConfig</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c6]"></a>RCC_USBCLKConfig</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3c7]"></a>RCC_ADCCLKConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[1a0]"></a>RCC_LSEConfig</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[181]"></a>RCC_LSICmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
</UL>

<P><STRONG><a name="[1a1]"></a>RCC_RTCCLKConfig</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[1a2]"></a>RCC_RTCCLKCmd</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[242]"></a>RCC_GetClocksFreq</STRONG> (Thumb, 192 bytes, Stack size 12 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = RCC_GetClocksFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_Init
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
</UL>

<P><STRONG><a name="[3c8]"></a>RCC_AHBPeriphClockCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[132]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPCInput
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_RCC_Configuration
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init18B20_GPIO
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_GPIO_Config_Init
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPCOutput
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB4
<LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPB
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAOutput
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Config_InitPAInput
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GPIO_Config_Init
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_GPIO_Init
</UL>

<P><STRONG><a name="[133]"></a>RCC_APB1PeriphClockCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_RCC_Configuration
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_Init
</UL>

<P><STRONG><a name="[23d]"></a>RCC_APB2PeriphResetCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_DeInit
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_DeInit
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_AFIODeInit
<LI><a href="#[23c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_DeInit
</UL>

<P><STRONG><a name="[241]"></a>RCC_APB1PeriphResetCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;I2C_DeInit
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_DeInit
<LI><a href="#[24f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PWR_DeInit
</UL>

<P><STRONG><a name="[254]"></a>RCC_BackupResetCmd</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[253]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BKP_DeInit
</UL>

<P><STRONG><a name="[3c9]"></a>RCC_ClockSecuritySystemCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3ca]"></a>RCC_MCOConfig</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3cb]"></a>RCC_ClearFlag</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3cc]"></a>RCC_GetITStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[3cd]"></a>RCC_ClearITPendingBit</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_rcc.o(.text), UNUSED)

<P><STRONG><a name="[240]"></a>USART_DeInit</STRONG> (Thumb, 134 bytes, Stack size 8 bytes, stm32f10x_usart.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphResetCmd
<LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
</UL>

<P><STRONG><a name="[135]"></a>USART_Init</STRONG> (Thumb, 210 bytes, Stack size 56 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = USART_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetClocksFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_Config_Init
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
</UL>

<P><STRONG><a name="[3ce]"></a>USART_StructInit</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3cf]"></a>USART_ClockInit</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d0]"></a>USART_ClockStructInit</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[136]"></a>USART_Cmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_Config_Init
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
</UL>

<P><STRONG><a name="[12d]"></a>USART_ITConfig</STRONG> (Thumb, 74 bytes, Stack size 20 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = USART_ITConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_Config_Init
<LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART3_RxCpltCallback
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART2_RxCpltCallback
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART1_RxCpltCallback
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
</UL>

<P><STRONG><a name="[3d1]"></a>USART_DMACmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d2]"></a>USART_SetAddress</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d3]"></a>USART_WakeUpConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d4]"></a>USART_ReceiverWakeUpCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d5]"></a>USART_LINBreakDetectLengthConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d6]"></a>USART_LINCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[13a]"></a>USART_SendData</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
</UL>

<P><STRONG><a name="[12c]"></a>USART_ReceiveData</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART3_RxCpltCallback
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART2_RxCpltCallback
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART1_RxCpltCallback
</UL>

<P><STRONG><a name="[3d7]"></a>USART_SendBreak</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d8]"></a>USART_SetGuardTime</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3d9]"></a>USART_SetPrescaler</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3da]"></a>USART_SmartCardCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3db]"></a>USART_SmartCardNACKCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3dc]"></a>USART_HalfDuplexCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3dd]"></a>USART_OverSampling8Cmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3de]"></a>USART_OneBitMethodCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3df]"></a>USART_IrDAConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[3e0]"></a>USART_IrDACmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text), UNUSED)

<P><STRONG><a name="[13b]"></a>USART_GetFlagStatus</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
</UL>

<P><STRONG><a name="[139]"></a>USART_ClearFlag</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
</UL>

<P><STRONG><a name="[de]"></a>USART_GetITStatus</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_GetITStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_IRQHandler
</UL>

<P><STRONG><a name="[df]"></a>USART_ClearITPendingBit</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, stm32f10x_usart.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = USART_ClearITPendingBit
</UL>
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_IRQHandler
</UL>

<P><STRONG><a name="[c0]"></a>NVIC_PriorityGroupConfig</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, misc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_NVIC_Configuration
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[138]"></a>NVIC_Init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, misc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = NVIC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_NVIC_Configuration
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart2_init
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_init
</UL>

<P><STRONG><a name="[3e1]"></a>NVIC_SetVectorTable</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, misc.o(.text), UNUSED)

<P><STRONG><a name="[3e2]"></a>NVIC_SystemLPConfig</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, misc.o(.text), UNUSED)

<P><STRONG><a name="[129]"></a>SysTick_CLKSourceConfig</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, misc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_init
</UL>

<P><STRONG><a name="[243]"></a>ADC_DeInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
</UL>

<P><STRONG><a name="[151]"></a>ADC_Init</STRONG> (Thumb, 70 bytes, Stack size 12 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = ADC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[3e3]"></a>ADC_StructInit</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[153]"></a>ADC_Cmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[3e4]"></a>ADC_DMACmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3e5]"></a>ADC_ITConfig</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[154]"></a>ADC_ResetCalibration</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[155]"></a>ADC_GetResetCalibrationStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[156]"></a>ADC_StartCalibration</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[157]"></a>ADC_GetCalibrationStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[158]"></a>ADC_SoftwareStartConvCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVoltage
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[3e6]"></a>ADC_GetSoftwareStartConvStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3e7]"></a>ADC_DiscModeChannelCountConfig</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3e8]"></a>ADC_DiscModeCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[152]"></a>ADC_RegularChannelConfig</STRONG> (Thumb, 184 bytes, Stack size 20 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = ADC_RegularChannelConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
</UL>

<P><STRONG><a name="[3e9]"></a>ADC_ExternalTrigConvCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[15b]"></a>ADC_GetConversionValue</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVoltage
</UL>

<P><STRONG><a name="[3ea]"></a>ADC_GetDualModeConversionValue</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3eb]"></a>ADC_AutoInjectedConvCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3ec]"></a>ADC_InjectedDiscModeCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3ed]"></a>ADC_ExternalTrigInjectedConvConfig</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3ee]"></a>ADC_ExternalTrigInjectedConvCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3ef]"></a>ADC_SoftwareStartInjectedConvCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f0]"></a>ADC_GetSoftwareStartInjectedConvCmdStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f1]"></a>ADC_InjectedChannelConfig</STRONG> (Thumb, 130 bytes, Stack size 20 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f2]"></a>ADC_InjectedSequencerLengthConfig</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f3]"></a>ADC_SetInjectedOffset</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f4]"></a>ADC_GetInjectedConversionValue</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f5]"></a>ADC_AnalogWatchdogCmd</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f6]"></a>ADC_AnalogWatchdogThresholdsConfig</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f7]"></a>ADC_AnalogWatchdogSingleChannelConfig</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3f8]"></a>ADC_TempSensorVrefintCmd</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[15a]"></a>ADC_GetFlagStatus</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVoltage
</UL>

<P><STRONG><a name="[3f9]"></a>ADC_ClearFlag</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3fa]"></a>ADC_GetITStatus</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3fb]"></a>ADC_ClearITPendingBit</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_adc.o(.text), UNUSED)

<P><STRONG><a name="[3fc]"></a>FLASH_SetLatency</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[3fd]"></a>FLASH_HalfCycleAccessCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[3fe]"></a>FLASH_PrefetchBufferCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[ec]"></a>FLASH_Unlock</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
<LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_backup_to_run
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_run_to_backup
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>

<P><STRONG><a name="[3ff]"></a>FLASH_UnlockBank1</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[ee]"></a>FLASH_Lock</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
<LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_backup_to_run
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_run_to_backup
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>

<P><STRONG><a name="[400]"></a>FLASH_LockBank1</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[245]"></a>FLASH_GetBank1Status</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[247]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastBank1Operation
<LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[244]"></a>FLASH_WaitForLastOperation</STRONG> (Thumb, 38 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[245]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetBank1Status
</UL>
<BR>[Called By]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramWord
<LI><a href="#[127]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
<LI><a href="#[24e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_UserOptionByteConfig
<LI><a href="#[24d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ReadOutProtection
<LI><a href="#[24c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EnableWriteProtection
<LI><a href="#[24b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramOptionByteData
<LI><a href="#[249]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseOptionBytes
<LI><a href="#[246]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseAllPages
</UL>

<P><STRONG><a name="[ed]"></a>FLASH_ErasePage</STRONG> (Thumb, 72 bytes, Stack size 12 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = FLASH_ErasePage &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>

<P><STRONG><a name="[246]"></a>FLASH_EraseAllPages</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[247]"></a>FLASH_WaitForLastBank1Operation</STRONG> (Thumb, 38 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[245]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetBank1Status
</UL>
<BR>[Called By]<UL><LI><a href="#[248]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseAllBank1Pages
</UL>

<P><STRONG><a name="[248]"></a>FLASH_EraseAllBank1Pages</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[247]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastBank1Operation
</UL>

<P><STRONG><a name="[24a]"></a>FLASH_GetReadOutProtectionStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[249]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseOptionBytes
</UL>

<P><STRONG><a name="[249]"></a>FLASH_EraseOptionBytes</STRONG> (Thumb, 150 bytes, Stack size 12 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[24a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetReadOutProtectionStatus
<LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[f1]"></a>FLASH_ProgramWord</STRONG> (Thumb, 102 bytes, Stack size 20 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = FLASH_ProgramWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_backup_to_run
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_run_to_backup
</UL>

<P><STRONG><a name="[127]"></a>FLASH_ProgramHalfWord</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyFLASH_ProgramHalfWord
</UL>

<P><STRONG><a name="[24b]"></a>FLASH_ProgramOptionByteData</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[24c]"></a>FLASH_EnableWriteProtection</STRONG> (Thumb, 200 bytes, Stack size 28 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[24d]"></a>FLASH_ReadOutProtection</STRONG> (Thumb, 156 bytes, Stack size 12 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[24e]"></a>FLASH_UserOptionByteConfig</STRONG> (Thumb, 88 bytes, Stack size 20 bytes, stm32f10x_flash.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[401]"></a>FLASH_GetUserOptionByte</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[402]"></a>FLASH_GetWriteProtectionOptionByte</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[403]"></a>FLASH_GetPrefetchBufferStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[404]"></a>FLASH_ITConfig</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[405]"></a>FLASH_GetFlagStatus</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[eb]"></a>FLASH_ClearFlag</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Erase_page
</UL>

<P><STRONG><a name="[406]"></a>FLASH_GetStatus</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text), UNUSED)

<P><STRONG><a name="[13f]"></a>I2C_DeInit</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = I2C_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphResetCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_Init
</UL>

<P><STRONG><a name="[140]"></a>I2C_Init</STRONG> (Thumb, 222 bytes, Stack size 48 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = I2C_Init &rArr; RCC_GetClocksFreq
</UL>
<BR>[Calls]<UL><LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetClocksFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_Init
</UL>

<P><STRONG><a name="[407]"></a>I2C_StructInit</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[141]"></a>I2C_Cmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_Init
</UL>

<P><STRONG><a name="[408]"></a>I2C_DMACmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[409]"></a>I2C_DMALastTransferCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[143]"></a>I2C_GenerateSTART</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>

<P><STRONG><a name="[146]"></a>I2C_GenerateSTOP</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStop
</UL>

<P><STRONG><a name="[14c]"></a>I2C_AcknowledgeConfig</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
</UL>

<P><STRONG><a name="[40a]"></a>I2C_OwnAddress2Config</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[40b]"></a>I2C_DualAddressCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[40c]"></a>I2C_GeneralCallCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[40d]"></a>I2C_ITConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[149]"></a>I2C_SendData</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
</UL>

<P><STRONG><a name="[14d]"></a>I2C_ReceiveData</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
</UL>

<P><STRONG><a name="[40e]"></a>I2C_Send7bitAddress</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[40f]"></a>I2C_ReadRegister</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[410]"></a>I2C_SoftwareResetCmd</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[411]"></a>I2C_NACKPositionConfig</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[412]"></a>I2C_SMBusAlertConfig</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[413]"></a>I2C_TransmitPEC</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[414]"></a>I2C_PECPositionConfig</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[415]"></a>I2C_CalculatePEC</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[416]"></a>I2C_GetPEC</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[417]"></a>I2C_ARPCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[418]"></a>I2C_StretchClockCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[419]"></a>I2C_FastModeDutyCycleConfig</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[144]"></a>I2C_CheckEvent</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, stm32f10x_i2c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = I2C_CheckEvent
</UL>
<BR>[Called By]<UL><LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendOneByte
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendAddr
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_SendStart
</UL>

<P><STRONG><a name="[41a]"></a>I2C_GetLastEvent</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[41b]"></a>I2C_GetFlagStatus</STRONG> (Thumb, 58 bytes, Stack size 12 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[41c]"></a>I2C_ClearFlag</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[41d]"></a>I2C_GetITStatus</STRONG> (Thumb, 54 bytes, Stack size 12 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[41e]"></a>I2C_ClearITPendingBit</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f10x_i2c.o(.text), UNUSED)

<P><STRONG><a name="[183]"></a>IWDG_WriteAccessCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
</UL>

<P><STRONG><a name="[184]"></a>IWDG_SetPrescaler</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
</UL>

<P><STRONG><a name="[185]"></a>IWDG_SetReload</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
</UL>

<P><STRONG><a name="[186]"></a>IWDG_ReloadCounter</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FeedDog
</UL>

<P><STRONG><a name="[187]"></a>IWDG_Enable</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
</UL>

<P><STRONG><a name="[41f]"></a>IWDG_GetFlagStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_iwdg.o(.text), UNUSED)

<P><STRONG><a name="[24f]"></a>PWR_DeInit</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, stm32f10x_pwr.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphResetCmd
</UL>

<P><STRONG><a name="[19e]"></a>PWR_BackupAccessCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[420]"></a>PWR_PVDCmd</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[421]"></a>PWR_PVDLevelConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[422]"></a>PWR_WakeUpPinCmd</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[423]"></a>PWR_EnterSTOPMode</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[424]"></a>PWR_EnterSTANDBYMode</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[425]"></a>PWR_GetFlagStatus</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[426]"></a>PWR_ClearFlag</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f10x_pwr.o(.text), UNUSED)

<P><STRONG><a name="[427]"></a>RTC_ITConfig</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[250]"></a>RTC_EnterConfigMode</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetPrescaler
<LI><a href="#[19c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetCounter
<LI><a href="#[252]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetAlarm
</UL>

<P><STRONG><a name="[251]"></a>RTC_ExitConfigMode</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetPrescaler
<LI><a href="#[19c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetCounter
<LI><a href="#[252]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_SetAlarm
</UL>

<P><STRONG><a name="[1a6]"></a>RTC_GetCounter</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
</UL>

<P><STRONG><a name="[19c]"></a>RTC_SetCounter</STRONG> (Thumb, 26 bytes, Stack size 4 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = RTC_SetCounter
</UL>
<BR>[Calls]<UL><LI><a href="#[251]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitConfigMode
<LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterConfigMode
</UL>
<BR>[Called By]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_SetTime
</UL>

<P><STRONG><a name="[1a4]"></a>RTC_SetPrescaler</STRONG> (Thumb, 28 bytes, Stack size 4 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = RTC_SetPrescaler
</UL>
<BR>[Calls]<UL><LI><a href="#[251]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitConfigMode
<LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterConfigMode
</UL>
<BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[252]"></a>RTC_SetAlarm</STRONG> (Thumb, 26 bytes, Stack size 4 bytes, stm32f10x_rtc.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[251]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitConfigMode
<LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterConfigMode
</UL>

<P><STRONG><a name="[428]"></a>RTC_GetDivider</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[19d]"></a>RTC_WaitForLastTask</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
<LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_SetTime
</UL>

<P><STRONG><a name="[1a3]"></a>RTC_WaitForSynchro</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[429]"></a>RTC_GetFlagStatus</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[42a]"></a>RTC_ClearFlag</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[42b]"></a>RTC_GetITStatus</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[42c]"></a>RTC_ClearITPendingBit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f10x_rtc.o(.text), UNUSED)

<P><STRONG><a name="[253]"></a>BKP_DeInit</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f10x_bkp.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[254]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_BackupResetCmd
</UL>

<P><STRONG><a name="[42d]"></a>BKP_TamperPinLevelConfig</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[42e]"></a>BKP_TamperPinCmd</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[42f]"></a>BKP_ITConfig</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[430]"></a>BKP_RTCOutputConfig</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[431]"></a>BKP_SetRTCCalibrationValue</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[1a5]"></a>BKP_WriteBackupRegister</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f10x_bkp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = BKP_WriteBackupRegister
</UL>
<BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[19f]"></a>BKP_ReadBackupRegister</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, stm32f10x_bkp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = BKP_ReadBackupRegister
</UL>
<BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_Init
</UL>

<P><STRONG><a name="[432]"></a>BKP_GetFlagStatus</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[433]"></a>BKP_ClearFlag</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[434]"></a>BKP_GetITStatus</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[435]"></a>BKP_ClearITPendingBit</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_bkp.o(.text), UNUSED)

<P><STRONG><a name="[255]"></a>MQTTSerialize_connectLength</STRONG> (Thumb, 118 bytes, Stack size 16 bytes, mqttconnectclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTstrlen
</UL>
<BR>[Called By]<UL><LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[257]"></a>MQTTSerialize_connect</STRONG> (Thumb, 342 bytes, Stack size 40 bytes, mqttconnectclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeChar
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[258]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_len
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
<LI><a href="#[255]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connectLength
</UL>
<BR>[Called By]<UL><LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
</UL>

<P><STRONG><a name="[25e]"></a>MQTTDeserialize_connack</STRONG> (Thumb, 118 bytes, Stack size 48 bytes, mqttconnectclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[25f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readChar
<LI><a href="#[260]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decodeBuf
</UL>
<BR>[Called By]<UL><LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
</UL>

<P><STRONG><a name="[261]"></a>MQTTSerialize_zero</STRONG> (Thumb, 76 bytes, Stack size 32 bytes, mqttconnectclient.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = MQTTSerialize_zero &rArr; MQTTPacket_encode
</UL>
<BR>[Calls]<UL><LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeChar
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
</UL>
<BR>[Called By]<UL><LI><a href="#[263]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_pingreq
<LI><a href="#[262]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_disconnect
</UL>

<P><STRONG><a name="[262]"></a>MQTTSerialize_disconnect</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, mqttconnectclient.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = MQTTSerialize_disconnect &rArr; MQTTSerialize_zero &rArr; MQTTPacket_encode
</UL>
<BR>[Calls]<UL><LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_zero
</UL>
<BR>[Called By]<UL><LI><a href="#[274]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Disconnect
</UL>

<P><STRONG><a name="[263]"></a>MQTTSerialize_pingreq</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, mqttconnectclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_zero
</UL>
<BR>[Called By]<UL><LI><a href="#[275]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Ping
</UL>

<P><STRONG><a name="[264]"></a>EC20_Conn1</STRONG> (Thumb, 122 bytes, Stack size 224 bytes, mqttconnectclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[25a]"></a>MQTTPacket_encode</STRONG> (Thumb, 54 bytes, Stack size 12 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = MQTTPacket_encode
</UL>
<BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
<LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_readnb
<LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_zero
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[266]"></a>MQTTPacket_decode</STRONG> (Thumb, 88 bytes, Stack size 32 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[260]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decodeBuf
</UL>

<P><STRONG><a name="[258]"></a>MQTTPacket_len</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, mqttpacket.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[265]"></a>bufchar</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = bufchar
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mqttpacket.o(.text)
</UL>
<P><STRONG><a name="[260]"></a>MQTTPacket_decodeBuf</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[266]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decode
</UL>
<BR>[Called By]<UL><LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_suback
<LI><a href="#[25e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_connack
</UL>

<P><STRONG><a name="[268]"></a>readInt</STRONG> (Thumb, 26 bytes, Stack size 12 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_suback
<LI><a href="#[267]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readMQTTLenString
</UL>

<P><STRONG><a name="[25f]"></a>readChar</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_suback
<LI><a href="#[25e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_connack
</UL>

<P><STRONG><a name="[259]"></a>writeChar</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, mqttpacket.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
<LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_zero
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[25c]"></a>writeInt</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = writeInt
</UL>
<BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
<LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[25b]"></a>writeCString</STRONG> (Thumb, 54 bytes, Stack size 24 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
<LI>Call Chain = writeCString &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[436]"></a>getLenStringLen</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, mqttpacket.o(.text), UNUSED)

<P><STRONG><a name="[25d]"></a>writeMQTTString</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192 + Unknown Stack Size
<LI>Call Chain = writeMQTTString &rArr; writeCString &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
</UL>

<P><STRONG><a name="[267]"></a>readMQTTLenString</STRONG> (Thumb, 58 bytes, Stack size 20 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readInt
</UL>

<P><STRONG><a name="[256]"></a>MQTTstrlen</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, mqttpacket.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = MQTTstrlen &rArr; strlen
</UL>
<BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[271]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribeLength
<LI><a href="#[26c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publishLength
<LI><a href="#[255]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connectLength
</UL>

<P><STRONG><a name="[269]"></a>MQTTPacket_equals</STRONG> (Thumb, 66 bytes, Stack size 24 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>

<P><STRONG><a name="[16d]"></a>MQTTPacket_read</STRONG> (Thumb, 160 bytes, Stack size 40 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[266]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decode
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
</UL>

<P><STRONG><a name="[26a]"></a>MQTTPacket_readnb</STRONG> (Thumb, 204 bytes, Stack size 32 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[26b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decodenb
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
</UL>

<P><STRONG><a name="[26c]"></a>MQTTSerialize_publishLength</STRONG> (Thumb, 34 bytes, Stack size 32 bytes, mqttserializepublish.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = MQTTSerialize_publishLength &rArr; MQTTstrlen &rArr; strlen
</UL>
<BR>[Calls]<UL><LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTstrlen
</UL>
<BR>[Called By]<UL><LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
</UL>

<P><STRONG><a name="[167]"></a>MQTTSerialize_publish</STRONG> (Thumb, 176 bytes, Stack size 64 bytes, mqttserializepublish.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 256 + Unknown Stack Size
<LI>Call Chain = MQTTSerialize_publish &rArr; writeMQTTString &rArr; writeCString &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[26c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publishLength
<LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeChar
<LI><a href="#[258]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_len
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
</UL>

<P><STRONG><a name="[26d]"></a>MQTTSerialize_ack</STRONG> (Thumb, 114 bytes, Stack size 40 bytes, mqttserializepublish.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeChar
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
</UL>
<BR>[Called By]<UL><LI><a href="#[270]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_pubcomp
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_pubrel
<LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_puback
</UL>

<P><STRONG><a name="[26e]"></a>MQTTSerialize_puback</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, mqttserializepublish.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
</UL>

<P><STRONG><a name="[26f]"></a>MQTTSerialize_pubrel</STRONG> (Thumb, 26 bytes, Stack size 24 bytes, mqttserializepublish.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
</UL>

<P><STRONG><a name="[270]"></a>MQTTSerialize_pubcomp</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, mqttserializepublish.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_ack
</UL>

<P><STRONG><a name="[271]"></a>MQTTSerialize_subscribeLength</STRONG> (Thumb, 46 bytes, Stack size 24 bytes, mqttsubscribeclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTstrlen
</UL>
<BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribe
</UL>

<P><STRONG><a name="[16a]"></a>MQTTSerialize_subscribe</STRONG> (Thumb, 176 bytes, Stack size 56 bytes, mqttsubscribeclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[271]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_subscribeLength
<LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeInt
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeChar
<LI><a href="#[258]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_len
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_encode
</UL>
<BR>[Called By]<UL><LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Subscribe
</UL>

<P><STRONG><a name="[272]"></a>MQTTDeserialize_suback</STRONG> (Thumb, 146 bytes, Stack size 48 bytes, mqttsubscribeclient.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readInt
<LI><a href="#[25f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readChar
<LI><a href="#[260]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_decodeBuf
</UL>

<P><STRONG><a name="[277]"></a>getDataLen</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, transport.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
</UL>

<P><STRONG><a name="[273]"></a>MQTT_Send</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, transport.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 176 + Unknown Stack Size
<LI>Call Chain = MQTT_Send &rArr; usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
</UL>
<BR>[Called By]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
</UL>

<P><STRONG><a name="[168]"></a>transport_sendPacketBuffer</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, transport.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192 + Unknown Stack Size
<LI>Call Chain = transport_sendPacketBuffer &rArr; MQTT_Send &rArr; usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[273]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Send
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Subscribe
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
<LI><a href="#[275]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Ping
<LI><a href="#[274]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Disconnect
</UL>

<P><STRONG><a name="[274]"></a>MQTT_Disconnect</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, transport.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 208 + Unknown Stack Size
<LI>Call Chain = MQTT_Disconnect &rArr; transport_sendPacketBuffer &rArr; MQTT_Send &rArr; usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[262]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_disconnect
</UL>
<BR>[Called By]<UL><LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
</UL>

<P><STRONG><a name="[275]"></a>MQTT_Ping</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, transport.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[263]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_pingreq
</UL>

<P><STRONG><a name="[276]"></a>MQTT_GETData</STRONG> (Thumb, 198 bytes, Stack size 32 bytes, transport.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 240 + Unknown Stack Size
<LI>Call Chain = MQTT_GETData &rArr; MQTT_Disconnect &rArr; transport_sendPacketBuffer &rArr; MQTT_Send &rArr; usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[274]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Disconnect
<LI><a href="#[277]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;getDataLen
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[278]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcmp
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_getdata
</UL>

<P><STRONG><a name="[54]"></a>transport_getdata</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, transport.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 256 + Unknown Stack Size
<LI>Call Chain = transport_getdata &rArr; MQTT_GETData &rArr; MQTT_Disconnect &rArr; transport_sendPacketBuffer &rArr; MQTT_Send &rArr; usart3_send &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
</UL>
<BR>[Address Reference Count : 3]<UL><LI> 4g.o(.text)
<LI> protocol.o(.text)
<LI> transport.o(.text)
</UL>
<P><STRONG><a name="[437]"></a>transport_getdatanb</STRONG> (Thumb, 22 bytes, Stack size 12 bytes, transport.o(.text), UNUSED)

<P><STRONG><a name="[438]"></a>transport_open</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, transport.o(.text), UNUSED)

<P><STRONG><a name="[439]"></a>transport_close</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, transport.o(.text), UNUSED)

<P><STRONG><a name="[279]"></a>MQTT_Connect</STRONG> (Thumb, 242 bytes, Stack size 456 bytes, transport.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[25e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTDeserialize_connack
<LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_connect
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[27c]"></a>vListInitialise</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, list.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
<LI><a href="#[2ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseTaskLists
</UL>

<P><STRONG><a name="[2b0]"></a>vListInitialiseItem</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, list.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTimer
<LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTask
</UL>

<P><STRONG><a name="[2ad]"></a>vListInsertEnd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, list.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromUnorderedEventList
<LI><a href="#[2cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnUnorderedEventList
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskNotifyGiveFromISR
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotifyFromISR
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotify
<LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeFromISR
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPrioritySet
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
<LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddNewTaskToReadyList
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[281]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskPriorityDisinherit
<LI><a href="#[294]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPriorityInherit
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventListRestricted
</UL>

<P><STRONG><a name="[2b7]"></a>vListInsert</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, list.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = vListInsert
</UL>
<BR>[Called By]<UL><LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSwitchTimerLists
<LI><a href="#[2d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInsertTimerInActiveList
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
<LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventList
</UL>

<P><STRONG><a name="[2b3]"></a>uxListRemove</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, list.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromUnorderedEventList
<LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessExpiredTimer
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
<LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSwitchTimerLists
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskNotifyGiveFromISR
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotifyFromISR
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotify
<LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeFromISR
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPrioritySet
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[281]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskPriorityDisinherit
<LI><a href="#[294]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPriorityInherit
</UL>

<P><STRONG><a name="[27a]"></a>xQueueGenericReset</STRONG> (Thumb, 136 bytes, Stack size 16 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 176 + Unknown Stack Size
<LI>Call Chain = xQueueGenericReset &rArr; xTaskRemoveFromEventList &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[27c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInitialise
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
</UL>
<BR>[Called By]<UL><LI><a href="#[27d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewQueue
</UL>

<P><STRONG><a name="[27e]"></a>xQueueGenericCreate</STRONG> (Thumb, 78 bytes, Stack size 32 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 240 + Unknown Stack Size
<LI>Call Chain = xQueueGenericCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[27d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewQueue
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[2a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueCreateSet
<LI><a href="#[296]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueCreateCountingSemaphore
<LI><a href="#[28d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueCreateMutex
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
</UL>

<P><STRONG><a name="[286]"></a>xQueueGenericSend</STRONG> (Thumb, 460 bytes, Stack size 56 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 288 + Unknown Stack Size
<LI>Call Chain = xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetSchedulerState
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueFull
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
<LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataToQueue
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSetTimeOutState
<LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventList
</UL>
<BR>[Called By]<UL><LI><a href="#[28e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveMutexRecursive
<LI><a href="#[28c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseMutex
<LI><a href="#[2eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerPendFunctionCall
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
</UL>

<P><STRONG><a name="[28d]"></a>xQueueCreateMutex</STRONG> (Thumb, 34 bytes, Stack size 24 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
<LI><a href="#[28c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseMutex
</UL>

<P><STRONG><a name="[28e]"></a>xQueueGiveMutexRecursive</STRONG> (Thumb, 66 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[28f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetCurrentTaskHandle
</UL>

<P><STRONG><a name="[292]"></a>xQueueGenericReceive</STRONG> (Thumb, 428 bytes, Stack size 56 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 288 + Unknown Stack Size
<LI>Call Chain = xQueueGenericReceive &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetSchedulerState
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataFromQueue
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueEmpty
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSetTimeOutState
<LI><a href="#[294]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPriorityInherit
<LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventList
<LI><a href="#[293]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvTaskIncrementMutexHeldCount
</UL>
<BR>[Called By]<UL><LI><a href="#[295]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueTakeMutexRecursive
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
<LI><a href="#[2a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueSelectFromSet
</UL>

<P><STRONG><a name="[295]"></a>xQueueTakeMutexRecursive</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[28f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetCurrentTaskHandle
</UL>

<P><STRONG><a name="[296]"></a>xQueueCreateCountingSemaphore</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[297]"></a>xQueueGenericSendFromISR</STRONG> (Thumb, 252 bytes, Stack size 40 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 256 + Unknown Stack Size
<LI>Call Chain = xQueueGenericSendFromISR &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
<LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataToQueue
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[2ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerPendFunctionCallFromISR
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
</UL>

<P><STRONG><a name="[299]"></a>xQueueGiveFromISR</STRONG> (Thumb, 228 bytes, Stack size 32 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[29a]"></a>xQueueReceiveFromISR</STRONG> (Thumb, 190 bytes, Stack size 40 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataFromQueue
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[2aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueSelectFromSetFromISR
</UL>

<P><STRONG><a name="[29b]"></a>xQueuePeekFromISR</STRONG> (Thumb, 158 bytes, Stack size 32 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataFromQueue
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[29c]"></a>uxQueueMessagesWaiting</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[29d]"></a>uxQueueSpacesAvailable</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[29e]"></a>uxQueueMessagesWaitingFromISR</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2a0]"></a>vQueueUnregisterQueue</STRONG> (Thumb, 44 bytes, Stack size 0 bytes, queue.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueDelete
</UL>

<P><STRONG><a name="[29f]"></a>vQueueDelete</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueUnregisterQueue
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[43a]"></a>uxQueueGetQueueNumber</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, queue.o(.text), UNUSED)

<P><STRONG><a name="[43b]"></a>vQueueSetQueueNumber</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, queue.o(.text), UNUSED)

<P><STRONG><a name="[43c]"></a>ucQueueGetQueueType</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, queue.o(.text), UNUSED)

<P><STRONG><a name="[2a2]"></a>xQueueIsQueueEmptyFromISR</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2a3]"></a>xQueueIsQueueFullFromISR</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e0]"></a>vQueueAddToRegistry</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, queue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
</UL>

<P><STRONG><a name="[43d]"></a>pcQueueGetName</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, queue.o(.text), UNUSED)

<P><STRONG><a name="[2a4]"></a>vQueueWaitForMessageRestricted</STRONG> (Thumb, 74 bytes, Stack size 24 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 256 + Unknown Stack Size
<LI>Call Chain = vQueueWaitForMessageRestricted &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventListRestricted
</UL>
<BR>[Called By]<UL><LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
</UL>

<P><STRONG><a name="[2a6]"></a>xQueueCreateSet</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
</UL>

<P><STRONG><a name="[2a7]"></a>xQueueAddToSet</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>

<P><STRONG><a name="[2a8]"></a>xQueueRemoveFromSet</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>

<P><STRONG><a name="[2a9]"></a>xQueueSelectFromSet</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
</UL>

<P><STRONG><a name="[2aa]"></a>xQueueSelectFromSetFromISR</STRONG> (Thumb, 22 bytes, Stack size 16 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueReceiveFromISR
</UL>

<P><STRONG><a name="[bd]"></a>xTaskCreate</STRONG> (Thumb, 96 bytes, Stack size 72 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 280 + Unknown Stack Size
<LI>Call Chain = xTaskCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTask
<LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddNewTaskToReadyList
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskStartScheduler
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreateTimerTask
</UL>

<P><STRONG><a name="[be]"></a>vTaskDelete</STRONG> (Thumb, 192 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 224 + Unknown Stack Size
<LI>Call Chain = vTaskDelete &rArr; prvDeleteTCB &rArr; vPortFree &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvDeleteTCB
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvResetNextTaskUnblockTime
</UL>
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task
</UL>

<P><STRONG><a name="[2b5]"></a>xTaskIncrementTick</STRONG> (Thumb, 396 bytes, Stack size 24 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
<LI>Call Chain = xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvResetNextTaskUnblockTime
</UL>
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xPortSysTickHandler
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
</UL>

<P><STRONG><a name="[28b]"></a>xTaskResumeAll</STRONG> (Thumb, 218 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvResetNextTaskUnblockTime
</UL>
<BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
<LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetSystemState
<LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskGetInfo
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelayUntil
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
</UL>

<P><STRONG><a name="[288]"></a>vTaskSuspendAll</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
<LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetSystemState
<LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskGetInfo
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelayUntil
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
</UL>

<P><STRONG><a name="[2b8]"></a>vTaskDelayUntil</STRONG> (Thumb, 182 bytes, Stack size 32 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>

<P><STRONG><a name="[9d]"></a>vTaskDelay</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = vTaskDelay &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>
<BR>[Called By]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_4G_Device
<LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVoltage
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[11d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_with_retry
<LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvHttp
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqtt_task
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_task
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sensor_task
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Config18b20
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
<LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
</UL>

<P><STRONG><a name="[2b9]"></a>eTaskGetState</STRONG> (Thumb, 106 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskGetInfo
</UL>

<P><STRONG><a name="[2ba]"></a>uxTaskPriorityGet</STRONG> (Thumb, 30 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>

<P><STRONG><a name="[2bb]"></a>uxTaskPriorityGetFromISR</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[2bc]"></a>vTaskPrioritySet</STRONG> (Thumb, 320 bytes, Stack size 32 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[9b]"></a>vTaskSwitchContext</STRONG> (Thumb, 114 bytes, Stack size 8 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = vTaskSwitchContext &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PendSV_Handler
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
</UL>

<P><STRONG><a name="[2bd]"></a>vTaskSuspend</STRONG> (Thumb, 190 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSwitchContext
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvResetNextTaskUnblockTime
</UL>

<P><STRONG><a name="[2bf]"></a>vTaskResume</STRONG> (Thumb, 122 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskIsTaskSuspended
</UL>

<P><STRONG><a name="[2c0]"></a>xTaskResumeFromISR</STRONG> (Thumb, 152 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskIsTaskSuspended
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[db]"></a>vTaskStartScheduler</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 312 + Unknown Stack Size
<LI>Call Chain = vTaskStartScheduler &rArr; xTimerCreateTimerTask &rArr; xTaskCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreateTimerTask
<LI><a href="#[2c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xPortStartScheduler
</UL>
<BR>[Called By]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[2c4]"></a>vTaskEndScheduler</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEndScheduler
</UL>

<P><STRONG><a name="[2da]"></a>xTaskGetTickCount</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSampleTimeNow
</UL>

<P><STRONG><a name="[2c6]"></a>xTaskGetTickCountFromISR</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[43e]"></a>uxTaskGetNumberOfTasks</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

<P><STRONG><a name="[2c7]"></a>pcTaskGetName</STRONG> (Thumb, 114 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2c8]"></a>vTaskGetInfo</STRONG> (Thumb, 114 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eTaskGetState
<LI><a href="#[2c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskCheckFreeStackSpace
</UL>
<BR>[Called By]<UL><LI><a href="#[2ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvListTasksWithinSingleList
</UL>

<P><STRONG><a name="[2cb]"></a>uxTaskGetSystemState</STRONG> (Thumb, 152 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[2ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvListTasksWithinSingleList
</UL>
<BR>[Called By]<UL><LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
</UL>

<P><STRONG><a name="[28a]"></a>vTaskPlaceOnEventList</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = vTaskPlaceOnEventList &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsert
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
</UL>

<P><STRONG><a name="[2cc]"></a>vTaskPlaceOnUnorderedEventList</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>

<P><STRONG><a name="[2a5]"></a>vTaskPlaceOnEventListRestricted</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = vTaskPlaceOnEventListRestricted &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>
<BR>[Called By]<UL><LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueWaitForMessageRestricted
</UL>

<P><STRONG><a name="[27b]"></a>xTaskRemoveFromEventList</STRONG> (Thumb, 122 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = xTaskRemoveFromEventList &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueReceiveFromISR
<LI><a href="#[299]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveFromISR
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
</UL>

<P><STRONG><a name="[2cd]"></a>xTaskRemoveFromUnorderedEventList</STRONG> (Thumb, 142 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[287]"></a>vTaskSetTimeOutState</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = vTaskSetTimeOutState &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
</UL>

<P><STRONG><a name="[289]"></a>xTaskCheckForTimeOut</STRONG> (Thumb, 124 bytes, Stack size 24 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 176 + Unknown Stack Size
<LI>Call Chain = xTaskCheckForTimeOut &rArr; vPortExitCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSetTimeOutState
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
</UL>

<P><STRONG><a name="[284]"></a>vTaskMissedYield</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
</UL>

<P><STRONG><a name="[43f]"></a>uxTaskGetTaskNumber</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

<P><STRONG><a name="[440]"></a>vTaskSetTaskNumber</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

<P><STRONG><a name="[ba]"></a>uxTaskGetStackHighWaterMark</STRONG> (Thumb, 34 bytes, Stack size 24 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = uxTaskGetStackHighWaterMark
</UL>
<BR>[Calls]<UL><LI><a href="#[2c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskCheckFreeStackSpace
</UL>
<BR>[Called By]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqtt_task
</UL>

<P><STRONG><a name="[28f]"></a>xTaskGetCurrentTaskHandle</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[295]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueTakeMutexRecursive
<LI><a href="#[28e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveMutexRecursive
</UL>

<P><STRONG><a name="[dc]"></a>xTaskGetSchedulerState</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[16]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
</UL>

<P><STRONG><a name="[294]"></a>vTaskPriorityInherit</STRONG> (Thumb, 164 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = vTaskPriorityInherit
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
</UL>

<P><STRONG><a name="[281]"></a>xTaskPriorityDisinherit</STRONG> (Thumb, 176 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataToQueue
</UL>

<P><STRONG><a name="[2cf]"></a>vTaskList</STRONG> (Thumb, 204 bytes, Stack size 32 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetSystemState
<LI><a href="#[2ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvWriteNameToBuffer
</UL>

<P><STRONG><a name="[441]"></a>uxTaskResetEventItemValue</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, tasks.o(.text), UNUSED)

<P><STRONG><a name="[293]"></a>pvTaskIncrementMutexHeldCount</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
</UL>

<P><STRONG><a name="[2d0]"></a>ulTaskNotifyTake</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>

<P><STRONG><a name="[2d1]"></a>xTaskNotifyWait</STRONG> (Thumb, 150 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddCurrentTaskToDelayedList
</UL>

<P><STRONG><a name="[2d2]"></a>xTaskGenericNotify</STRONG> (Thumb, 276 bytes, Stack size 32 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2d3]"></a>xTaskGenericNotifyFromISR</STRONG> (Thumb, 282 bytes, Stack size 40 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[2d4]"></a>vTaskNotifyGiveFromISR</STRONG> (Thumb, 200 bytes, Stack size 24 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[2d5]"></a>xTaskNotifyStateClear</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>

<P><STRONG><a name="[2d7]"></a>xTimerGenericCommand</STRONG> (Thumb, 118 bytes, Stack size 48 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 336 + Unknown Stack Size
<LI>Call Chain = xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetSchedulerState
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessExpiredTimer
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
<LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSwitchTimerLists
</UL>

<P><STRONG><a name="[2c2]"></a>xTimerCreateTimerTask</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 296 + Unknown Stack Size
<LI>Call Chain = xTimerCreateTimerTask &rArr; xTaskCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskStartScheduler
</UL>

<P><STRONG><a name="[2e2]"></a>xTimerCreate</STRONG> (Thumb, 48 bytes, Stack size 40 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTimer
</UL>

<P><STRONG><a name="[2e3]"></a>xTimerGetTimerDaemonTaskHandle</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e4]"></a>xTimerGetPeriod</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e5]"></a>xTimerGetExpiryTime</STRONG> (Thumb, 30 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e6]"></a>pcTimerGetName</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e7]"></a>xTimerIsTimerActive</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e8]"></a>pvTimerGetTimerID</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2e9]"></a>vTimerSetTimerID</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2ea]"></a>xTimerPendFunctionCallFromISR</STRONG> (Thumb, 48 bytes, Stack size 40 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
</UL>

<P><STRONG><a name="[2eb]"></a>xTimerPendFunctionCall</STRONG> (Thumb, 70 bytes, Stack size 40 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[2b1]"></a>pxPortInitialiseStack</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, port.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTask
</UL>

<P><STRONG><a name="[2ec]"></a>vPortSetupTimerInterrupt</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, port.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xPortStartScheduler
</UL>

<P><STRONG><a name="[2c3]"></a>xPortStartScheduler</STRONG> (Thumb, 140 bytes, Stack size 16 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = xPortStartScheduler
</UL>
<BR>[Calls]<UL><LI><a href="#[2ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortSetupTimerInterrupt
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__asm___6_port_c_39a90d8d__prvStartFirstTask
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskStartScheduler
</UL>

<P><STRONG><a name="[2c5]"></a>vPortEndScheduler</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, port.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[2c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskEndScheduler
</UL>

<P><STRONG><a name="[bc]"></a>vPortEnterCritical</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = vPortEnterCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task
<LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueAddToSet
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueWaitForMessageRestricted
<LI><a href="#[29d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueSpacesAvailable
<LI><a href="#[29c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueMessagesWaiting
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueEmpty
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueFull
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTimerSetTimerID
<LI><a href="#[2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvTimerGetTimerID
<LI><a href="#[2e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerIsTimerActive
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
<LI><a href="#[2d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskNotifyStateClear
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotify
<LI><a href="#[2d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskNotifyWait
<LI><a href="#[2d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ulTaskNotifyTake
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPrioritySet
<LI><a href="#[2ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskPriorityGet
<LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eTaskGetState
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
<LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddNewTaskToReadyList
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
<LI><a href="#[2a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueRemoveFromSet
</UL>

<P><STRONG><a name="[bf]"></a>vPortExitCritical</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 152 + Unknown Stack Size
<LI>Call Chain = vPortExitCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_task
<LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueAddToSet
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueWaitForMessageRestricted
<LI><a href="#[29d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueSpacesAvailable
<LI><a href="#[29c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueMessagesWaiting
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueEmpty
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIsQueueFull
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTimerSetTimerID
<LI><a href="#[2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvTimerGetTimerID
<LI><a href="#[2e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerIsTimerActive
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
<LI><a href="#[2d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskNotifyStateClear
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotify
<LI><a href="#[2d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskNotifyWait
<LI><a href="#[2d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ulTaskNotifyTake
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPrioritySet
<LI><a href="#[2ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskPriorityGet
<LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eTaskGetState
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
<LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddNewTaskToReadyList
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
<LI><a href="#[2a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueRemoveFromSet
</UL>

<P><STRONG><a name="[dd]"></a>xPortSysTickHandler</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 176 + Unknown Stack Size
<LI>Call Chain = xPortSysTickHandler &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
</UL>
<BR>[Called By]<UL><LI><a href="#[16]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[298]"></a>vPortValidateInterruptPriority</STRONG> (Thumb, 88 bytes, Stack size 16 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = vPortValidateInterruptPriority &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortGetIPSR
</UL>
<BR>[Called By]<UL><LI><a href="#[29b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueuePeekFromISR
<LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueReceiveFromISR
<LI><a href="#[299]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveFromISR
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskNotifyGiveFromISR
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotifyFromISR
<LI><a href="#[2c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetTickCountFromISR
<LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeFromISR
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskPriorityGetFromISR
</UL>

<P><STRONG><a name="[27f]"></a>pvPortMalloc</STRONG> (Thumb, 262 bytes, Stack size 24 bytes, heap_4.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 208 + Unknown Stack Size
<LI>Call Chain = pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvHeapInit
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInsertBlockIntoFreeList
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreate
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
</UL>

<P><STRONG><a name="[2a1]"></a>vPortFree</STRONG> (Thumb, 120 bytes, Stack size 16 bytes, heap_4.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = vPortFree &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInsertBlockIntoFreeList
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
<LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueDelete
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvDeleteTCB
</UL>

<P><STRONG><a name="[442]"></a>xPortGetFreeHeapSize</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, heap_4.o(.text), UNUSED)

<P><STRONG><a name="[443]"></a>xPortGetMinimumEverFreeHeapSize</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, heap_4.o(.text), UNUSED)

<P><STRONG><a name="[444]"></a>vPortInitialiseBlocks</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heap_4.o(.text), UNUSED)

<P><STRONG><a name="[445]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)

<P><STRONG><a name="[a]"></a>malloc</STRONG> (Thumb, 94 bytes, Stack size 16 bytes, h1_alloc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = malloc &rArr; __Heap_Full &rArr; __Heap_ProvideMemory &rArr; free
</UL>
<BR>[Calls]<UL><LI><a href="#[2f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_Full
<LI><a href="#[2f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_heap_descriptor
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;realloc
</UL>
<BR>[Address Reference Count : 2]<UL><LI> cjson.o(.text)
<LI> cjson.o(.data)
</UL>
<P><STRONG><a name="[b]"></a>free</STRONG> (Thumb, 78 bytes, Stack size 16 bytes, h1_free.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = free
</UL>
<BR>[Calls]<UL><LI><a href="#[2f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_heap_descriptor
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;realloc
<LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_ProvideMemory
</UL>
<BR>[Address Reference Count : 2]<UL><LI> cjson.o(.text)
<LI> cjson.o(.data)
</UL>
<P><STRONG><a name="[c]"></a>realloc</STRONG> (Thumb, 184 bytes, Stack size 16 bytes, h1_realloc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = realloc &rArr; malloc &rArr; __Heap_Full &rArr; __Heap_ProvideMemory &rArr; free
</UL>
<BR>[Calls]<UL><LI><a href="#[2f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_heap_descriptor
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>
<BR>[Address Reference Count : 2]<UL><LI> cjson.o(.text)
<LI> cjson.o(.data)
</UL>
<P><STRONG><a name="[e8]"></a>__aeabi_llsr</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Final
</UL>

<P><STRONG><a name="[446]"></a>_ll_ushift_r</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

<P><STRONG><a name="[1cb]"></a>tolower</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, tolower.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = tolower &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
</UL>
<BR>[Called By]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;case_insensitive_strcmp
<LI><a href="#[122]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcasecmp
</UL>

<P><STRONG><a name="[1c9]"></a>sprintf</STRONG> (Thumb, 38 bytes, Stack size 32 bytes, sprintf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136 + Unknown Stack Size
<LI>Call Chain = sprintf &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sputc
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>
<BR>[Called By]<UL><LI><a href="#[1c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Version
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
</UL>

<P><STRONG><a name="[23b]"></a>vsprintf</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, vsprintf.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sputc
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>
<BR>[Called By]<UL><LI><a href="#[23a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_Printf
</UL>

<P><STRONG><a name="[a3]"></a>__2printf</STRONG> (Thumb, 20 bytes, Stack size 24 bytes, __2printf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 144 + Unknown Stack Size
<LI>Call Chain = __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_file
</UL>
<BR>[Called By]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;transport_sendPacketBuffer
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_read
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IIC_RecvOneByte
<LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ParseProductProtocol
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_md5
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;http_chunked_download
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_response_info
<LI><a href="#[108]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Httpjz
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_OTA
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Flash_Write_App2
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EraseOTA
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Erase
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;copy_run_to_backup
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskStartScheduler
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_send
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDT_Init
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg2
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqtt_task
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10013
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadServerCfg
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64RW
<LI><a href="#[2a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueIsQueueFullFromISR
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueIsQueueEmptyFromISR
<LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueDelete
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueMessagesWaitingFromISR
<LI><a href="#[29d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueSpacesAvailable
<LI><a href="#[29c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxQueueMessagesWaiting
<LI><a href="#[29b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueuePeekFromISR
<LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueReceiveFromISR
<LI><a href="#[299]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveFromISR
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[296]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueCreateCountingSemaphore
<LI><a href="#[295]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueTakeMutexRecursive
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[28e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveMutexRecursive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
<LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
<LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromUnorderedEventList
<LI><a href="#[2cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnUnorderedEventList
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
<LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskExitError
<LI><a href="#[2eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerPendFunctionCall
<LI><a href="#[2e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTimerSetTimerID
<LI><a href="#[2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvTimerGetTimerID
<LI><a href="#[2e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerIsTimerActive
<LI><a href="#[2e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pcTimerGetName
<LI><a href="#[2e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGetExpiryTime
<LI><a href="#[2e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGetPeriod
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGetTimerDaemonTaskHandle
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
<LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTimer
<LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessExpiredTimer
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
<LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSwitchTimerLists
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreateTimerTask
<LI><a href="#[2c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEndScheduler
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskNotifyGiveFromISR
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotifyFromISR
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGenericNotify
<LI><a href="#[2c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pcTaskGetName
<LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeFromISR
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSwitchContext
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPrioritySet
<LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eTaskGetState
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelayUntil
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
<LI><a href="#[2be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTaskIsTaskSuspended
<LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTask
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[281]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskPriorityDisinherit
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCheckForTimeOut
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSetTimeOutState
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventListRestricted
<LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventList
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortValidateInterruptPriority
</UL>

<P><STRONG><a name="[a2]"></a>__2sprintf</STRONG> (Thumb, 38 bytes, Stack size 32 bytes, __2sprintf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136 + Unknown Stack Size
<LI>Call Chain = __2sprintf &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sputc
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz2
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PackOK
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
</UL>

<P><STRONG><a name="[116]"></a>__2snprintf</STRONG> (Thumb, 50 bytes, Stack size 40 bytes, __2snprintf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 144 + Unknown Stack Size
<LI>Call Chain = __2snprintf &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sputc
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishLiquidInfo
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
</UL>

<P><STRONG><a name="[2f7]"></a>_printf_pre_padding</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _printf_pre_padding
</UL>
<BR>[Called By]<UL><LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_str
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_infnan
<LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex_real
<LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wctomb
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
<LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
</UL>

<P><STRONG><a name="[2f8]"></a>_printf_post_padding</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, _printf_pad.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _printf_post_padding
</UL>
<BR>[Called By]<UL><LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_str
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_infnan
<LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex_real
<LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wctomb
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
<LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
</UL>

<P><STRONG><a name="[2f6]"></a>_printf_str</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
</UL>
<BR>[Called By]<UL><LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_cs_common
</UL>

<P><STRONG><a name="[72]"></a>_printf_int_dec</STRONG> (Thumb, 104 bytes, Stack size 24 bytes, _printf_dec.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = _printf_int_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
<LI><a href="#[2fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_truncate_unsigned
<LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_truncate_signed
</UL>
<BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_u
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_d
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_i
</UL>

<P><STRONG><a name="[2fc]"></a>_printf_longlong_hex</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_hex_ptr
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_hex
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_hex
</UL>

<P><STRONG><a name="[78]"></a>_printf_int_hex</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = _printf_int_hex &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_hex
<LI><a href="#[2fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_truncate_unsigned
</UL>
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_x
</UL>

<P><STRONG><a name="[80]"></a>_printf_ll_hex</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = _printf_ll_hex &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_hex
</UL>
<BR>[Called By]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_llx
</UL>

<P><STRONG><a name="[6a]"></a>_printf_hex_ptr</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = _printf_hex_ptr &rArr; _printf_longlong_hex &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_hex
</UL>
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_p
</UL>

<P><STRONG><a name="[2fd]"></a>__printf</STRONG> (Thumb, 388 bytes, Stack size 40 bytes, __printf_flags_ss_wp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40 + Unknown Stack Size
<LI>Call Chain = __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_percent
<LI><a href="#[2fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_is_digit
</UL>
<BR>[Called By]<UL><LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>

<P><STRONG><a name="[1dc]"></a>sscanf</STRONG> (Thumb, 52 bytes, Stack size 72 bytes, sscanf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 508<LI>Call Chain = sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf_char
</UL>
<BR>[Called By]<UL><LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
</UL>

<P><STRONG><a name="[10b]"></a>__0sscanf</STRONG> (Thumb, 52 bytes, Stack size 72 bytes, __0sscanf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 508<LI>Call Chain = __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf_char
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_http_response
</UL>

<P><STRONG><a name="[301]"></a>_scanf_int</STRONG> (Thumb, 332 bytes, Stack size 56 bytes, _scanf_int.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _scanf_int
</UL>
<BR>[Calls]<UL><LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_chval
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[32c]"></a>_scanf_string</STRONG> (Thumb, 224 bytes, Stack size 56 bytes, _scanf_str.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _scanf_string
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[17d]"></a>atoi</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, atoi.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtol
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickNumFromJson
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
</UL>

<P><STRONG><a name="[117]"></a>atol</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, atol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = atol &rArr; strtol &rArr; _strtoul
</UL>
<BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtol
</UL>
<BR>[Called By]<UL><LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
</UL>

<P><STRONG><a name="[101]"></a>strstr</STRONG> (Thumb, 36 bytes, Stack size 12 bytes, strstr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strstr
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recv
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NoUpgrade
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_file_size
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_http_response
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickNumFromJson
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickStringFromJson
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
</UL>

<P><STRONG><a name="[278]"></a>memcmp</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, memcmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = memcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
</UL>

<P><STRONG><a name="[d5]"></a>strcpy</STRONG> (Thumb, 72 bytes, Stack size 12 bytes, strcpy.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz2
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetValuestring
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
<LI><a href="#[2ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvWriteNameToBuffer
</UL>

<P><STRONG><a name="[122]"></a>strcasecmp</STRONG> (Thumb, 42 bytes, Stack size 24 bytes, strcasecmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = strcasecmp &rArr; tolower &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[1cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tolower
</UL>
<BR>[Called By]<UL><LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
</UL>

<P><STRONG><a name="[b0]"></a>strlen</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, strlen.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishMsg
<LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmdHttp
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_to_server
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PackOK
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetATData
<LI><a href="#[109]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FindOffset
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;publish
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendATCmd
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithOpts
<LI><a href="#[1d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetValuestring
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_offset
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickNumFromJson
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickStringFromJson
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[269]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_equals
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTstrlen
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
<LI><a href="#[2ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvWriteNameToBuffer
</UL>

<P><STRONG><a name="[105]"></a>strncmp</STRONG> (Thumb, 150 bytes, Stack size 16 bytes, strncmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = strncmp
</UL>
<BR>[Called By]<UL><LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz2
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mqttjz
<LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
<LI><a href="#[1e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;skip_utf8_bom
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[269]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_equals
</UL>

<P><STRONG><a name="[b4]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTSerialize_publish
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlag
<LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;calc_app2_md5
<LI><a href="#[100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlagHttp
<LI><a href="#[ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3_RecvFlagOTA
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickNumFromJson
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickStringFromJson
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Get_SlaveData
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataFromQueue
<LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataToQueue
<LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_GETData
<LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeMQTTString
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writeCString
<LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
</UL>

<P><STRONG><a name="[305]"></a>__rt_memcpy</STRONG> (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>

<P><STRONG><a name="[447]"></a>_memcpy_lastbytes</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)

<P><STRONG><a name="[1cd]"></a>memcpy</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, memcpy.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[1f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;create_reference
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
</UL>

<P><STRONG><a name="[d9]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Test24C64RW
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTT_Connect
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_memcpy
<LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;realloc
</UL>

<P><STRONG><a name="[448]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[449]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[44a]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

<P><STRONG><a name="[1cf]"></a>memset</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, memset.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = memset
</UL>
<BR>[Calls]<UL><LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset
</UL>
<BR>[Called By]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
</UL>

<P><STRONG><a name="[2af]"></a>__aeabi_memset</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, aeabi_memset.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset
</UL>
<BR>[Called By]<UL><LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTask
</UL>

<P><STRONG><a name="[12a]"></a>__aeabi_memclr</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendDataToLora
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendCmdToLora
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Uart3Recv_Clear
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Config_Init
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PickStringFromJson
<LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncpy
</UL>

<P><STRONG><a name="[307]"></a>__rt_memclr</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset_w
</UL>

<P><STRONG><a name="[306]"></a>_memset</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memset
</UL>

<P><STRONG><a name="[a1]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAPower
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORAPower
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAVersion
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORASpeed
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetLORASpeed
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DefaultLoraDevice
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Message_From_Server
<LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_Get_Deviceinfo_Req
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Send_HeartBeat
<LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Processing_Message
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoginOnServer
<LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishLiquidInfo
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_http_response
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Final
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteDevInfo
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLiquidAlarmInfo
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MessageOrderToMQTT
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_4G
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[1f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintPreallocated
<LI><a href="#[1ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintBuffered
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10006
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse10011
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Request_Data
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Host_Device_Get_SlaveData
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadLORAChn
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLORAChn
<LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteLiquidAlarmInfo
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadServerCfg
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteServerCfg
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EC20_Conn1
<LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_localtime_r
</UL>

<P><STRONG><a name="[44b]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

<P><STRONG><a name="[44c]"></a>__rt_memclr_w</STRONG> (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)

<P><STRONG><a name="[308]"></a>_memset_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_memclr
</UL>

<P><STRONG><a name="[121]"></a>strncpy</STRONG> (Thumb, 86 bytes, Stack size 8 bytes, strncpy.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strncpy
</UL>
<BR>[Calls]<UL><LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Parse_Mqttcmd
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;validate_file
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadDevInfo
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadServerCfg
</UL>

<P><STRONG><a name="[1bf]"></a>strcmp</STRONG> (Thumb, 128 bytes, Stack size 0 bytes, strcmpv7m.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowString
<LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
<LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_numeric
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_get_lc_ctype
</UL>

<P><STRONG><a name="[1a7]"></a>localtime</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, localtime.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = localtime &rArr; _localtime_r &rArr; __aeabi_memclr4
</UL>
<BR>[Calls]<UL><LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_localtime_r
</UL>
<BR>[Called By]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_ReadTime
</UL>

<P><STRONG><a name="[19b]"></a>mktime</STRONG> (Thumb, 356 bytes, Stack size 40 bytes, mktime.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = mktime &rArr; _tm_carry
</UL>
<BR>[Calls]<UL><LI><a href="#[30a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_tm_carry
</UL>
<BR>[Called By]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MyRTC_SetTime
</UL>

<P><STRONG><a name="[44d]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

<P><STRONG><a name="[2]"></a>__rt_heap_escrow</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

<P><STRONG><a name="[1]"></a>__rt_heap_expand</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

<P><STRONG><a name="[44e]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

<P><STRONG><a name="[44f]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

<P><STRONG><a name="[2f3]"></a>__rt_ctype_table</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, rt_ctype_table.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale
</UL>
<BR>[Called By]<UL><LI><a href="#[1cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tolower
<LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_wcrtomb
<LI><a href="#[326]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_mbrtowc
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;isspace
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtol
</UL>

<P><STRONG><a name="[2f1]"></a>__rt_heap_descriptor</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rt_heap_descriptor_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_alloc
<LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;realloc
<LI><a href="#[b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>

<P><STRONG><a name="[303]"></a>__aeabi_errno_addr</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atol
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_strtoul
<LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtol
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[30f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__read_errno
</UL>

<P><STRONG><a name="[450]"></a>__errno$intlibspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

<P><STRONG><a name="[451]"></a>__rt_errno_addr$intlibspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

<P><STRONG><a name="[452]"></a>__use_no_heap</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, hguard.o(.text), UNUSED)

<P><STRONG><a name="[453]"></a>__heap$guard</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, hguard.o(.text), UNUSED)

<P><STRONG><a name="[8]"></a>_terminate_user_alloc</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, init_alloc.o(.text), UNUSED)

<P><STRONG><a name="[6]"></a>_init_user_alloc</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, init_alloc.o(.text), UNUSED)

<P><STRONG><a name="[2f2]"></a>__Heap_Full</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, init_alloc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __Heap_Full &rArr; __Heap_ProvideMemory &rArr; free
</UL>
<BR>[Calls]<UL><LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_ProvideMemory
</UL>
<BR>[Called By]<UL><LI><a href="#[a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>

<P><STRONG><a name="[30c]"></a>__Heap_Broken</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, init_alloc.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM
</UL>

<P><STRONG><a name="[8a]"></a>_init_alloc</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, init_alloc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _init_alloc &rArr; __rt_SIGRTMEM &rArr; __rt_SIGRTMEM_inner &rArr; __default_signal_display
</UL>
<BR>[Calls]<UL><LI><a href="#[30e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_Initialize
<LI><a href="#[2f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_heap_descriptor
<LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM
<LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_ProvideMemory
</UL>
<BR>[Called By]<UL><LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_heap_2
</UL>

<P><STRONG><a name="[30e]"></a>__Heap_Initialize</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, h1_init.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_alloc
</UL>

<P><STRONG><a name="[3]"></a>__Heap_DescSize</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, h1_init.o(.text), UNUSED)

<P><STRONG><a name="[30f]"></a>__read_errno</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, _rserrno.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
</UL>

<P><STRONG><a name="[310]"></a>__set_errno</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, _rserrno.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __set_errno
</UL>
<BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
</UL>
<BR>[Called By]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
<LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>

<P><STRONG><a name="[2f9]"></a>_printf_truncate_signed</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
</UL>

<P><STRONG><a name="[2fa]"></a>_printf_truncate_unsigned</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, _printf_truncate.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_hex
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_oct
</UL>

<P><STRONG><a name="[2fb]"></a>_printf_int_common</STRONG> (Thumb, 178 bytes, Stack size 32 bytes, _printf_intcommon.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
</UL>
<BR>[Called By]<UL><LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_hex
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_dec
<LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_oct
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_dec
</UL>

<P><STRONG><a name="[68]"></a>_printf_charcount</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, _printf_charcount.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_n
</UL>

<P><STRONG><a name="[454]"></a>__lib_sel_fp_printf</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, _printf_fp_dec.o(.text), UNUSED)

<P><STRONG><a name="[317]"></a>_printf_fp_dec_real</STRONG> (Thumb, 620 bytes, Stack size 104 bytes, _printf_fp_dec.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 324<LI>Call Chain = _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassify
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_infnan
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec
</UL>

<P><STRONG><a name="[2f4]"></a>_printf_char_common</STRONG> (Thumb, 32 bytes, Stack size 64 bytes, _printf_char_common.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104 + Unknown Stack Size
<LI>Call Chain = _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__printf
</UL>
<BR>[Called By]<UL><LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2snprintf
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[23b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vsprintf
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sprintf
<LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_file
</UL>

<P><STRONG><a name="[5a]"></a>_sputc</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, _sputc.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2snprintf
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2sprintf
<LI><a href="#[23b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vsprintf
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sprintf
</UL>
<BR>[Address Reference Count : 3]<UL><LI> sprintf.o(.text)
<LI> vsprintf.o(.text)
<LI> __2sprintf.o(.text)
</UL>
<P><STRONG><a name="[5b]"></a>_snputc</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, _snputc.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> __2snprintf.o(.text)
</UL>
<P><STRONG><a name="[31a]"></a>_printf_cs_common</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, _printf_char.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _printf_cs_common &rArr; _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_str
</UL>
<BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_string
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char
</UL>

<P><STRONG><a name="[82]"></a>_printf_char</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _printf_char &rArr; _printf_cs_common &rArr; _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_cs_common
</UL>
<BR>[Called By]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_c
</UL>

<P><STRONG><a name="[84]"></a>_printf_string</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _printf_string &rArr; _printf_cs_common &rArr; _printf_str &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_cs_common
</UL>
<BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_s
</UL>

<P><STRONG><a name="[2f5]"></a>_printf_char_file</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, _printf_char_file.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 120 + Unknown Stack Size
<LI>Call Chain = _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ferror
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_common
</UL>
<BR>[Called By]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>

<P><STRONG><a name="[31c]"></a>_printf_wctomb</STRONG> (Thumb, 182 bytes, Stack size 56 bytes, _printf_wctomb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
<LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_wcrtomb
</UL>
<BR>[Called By]<UL><LI><a href="#[32b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lcs_common
</UL>

<P><STRONG><a name="[7a]"></a>_printf_longlong_dec</STRONG> (Thumb, 108 bytes, Stack size 24 bytes, _printf_longlong_dec.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = _printf_longlong_dec &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[316]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ll_udiv10
<LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
</UL>
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_llu
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lld
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lli
</UL>

<P><STRONG><a name="[31e]"></a>_printf_longlong_oct</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, _printf_oct_int_ll.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _printf_longlong_oct &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_common
</UL>
<BR>[Called By]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ll_oct
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_int_oct
</UL>

<P><STRONG><a name="[76]"></a>_printf_int_oct</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, _printf_oct_int_ll.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = _printf_int_oct &rArr; _printf_longlong_oct &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_oct
<LI><a href="#[2fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_truncate_unsigned
</UL>
<BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_o
</UL>

<P><STRONG><a name="[7e]"></a>_printf_ll_oct</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, _printf_oct_int_ll.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _printf_ll_oct &rArr; _printf_longlong_oct &rArr; _printf_int_common &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_oct
</UL>
<BR>[Called By]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_llo
</UL>

<P><STRONG><a name="[302]"></a>_chval</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, _chval.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_int
<LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_hex_real
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_strtoul
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_longlong
</UL>

<P><STRONG><a name="[31f]"></a>_scanf_longlong</STRONG> (Thumb, 342 bytes, Stack size 56 bytes, _scanf_longlong.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _scanf_longlong
</UL>
<BR>[Calls]<UL><LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_chval
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[300]"></a>__vfscanf_char</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, scanf_char.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 436<LI>Call Chain = __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>
<BR>[Called By]<UL><LI><a href="#[10b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
<LI><a href="#[1dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sscanf
</UL>

<P><STRONG><a name="[5c]"></a>_sgetc</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, _sgetc.o(.text))
<BR>[Address Reference Count : 3]<UL><LI> sscanf.o(.text)
<LI> __0sscanf.o(.text)
<LI> strtod.o(.text)
</UL>
<P><STRONG><a name="[5d]"></a>_sbackspace</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, _sgetc.o(.text))
<BR>[Address Reference Count : 3]<UL><LI> sscanf.o(.text)
<LI> __0sscanf.o(.text)
<LI> strtod.o(.text)
</UL>
<P><STRONG><a name="[323]"></a>__strtod_int</STRONG> (Thumb, 90 bytes, Stack size 40 bytes, strtod.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 436<LI>Call Chain = __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[321]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_local_sscanf
</UL>
<BR>[Called By]<UL><LI><a href="#[1d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtod
</UL>

<P><STRONG><a name="[304]"></a>strtol</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, strtol.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = strtol &rArr; _strtoul
</UL>
<BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
<LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_strtoul
</UL>
<BR>[Called By]<UL><LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atol
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atoi
</UL>

<P><STRONG><a name="[325]"></a>_scanf_mbtowc</STRONG> (Thumb, 276 bytes, Stack size 64 bytes, _scanf_mbtowc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = _scanf_mbtowc &rArr; _mbrtowc &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[326]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_mbrtowc
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[327]"></a>_scanf_wctomb</STRONG> (Thumb, 232 bytes, Stack size 64 bytes, _scanf_wctomb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = _scanf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_wcrtomb
<LI><a href="#[328]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wcharmap
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[329]"></a>_scanf_wstring</STRONG> (Thumb, 208 bytes, Stack size 56 bytes, _scanf_wstr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = _scanf_wstring &rArr; _scanf_wcharmap
</UL>
<BR>[Calls]<UL><LI><a href="#[328]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wcharmap
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[309]"></a>_localtime_r</STRONG> (Thumb, 178 bytes, Stack size 16 bytes, localtime_internal.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = _localtime_r &rArr; __aeabi_memclr4
</UL>
<BR>[Calls]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[1a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;localtime
</UL>

<P><STRONG><a name="[455]"></a>_n$localtime_r</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, localtime_internal.o(.text), UNUSED)

<P><STRONG><a name="[456]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

<P><STRONG><a name="[336]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>

<P><STRONG><a name="[457]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

<P><STRONG><a name="[8c]"></a>__rt_locale</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rt_locale_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
<LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_common
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
</UL>

<P><STRONG><a name="[30b]"></a>__Heap_ProvideMemory</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, h1_extend.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __Heap_ProvideMemory &rArr; free
</UL>
<BR>[Calls]<UL><LI><a href="#[b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
</UL>
<BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_alloc
<LI><a href="#[2f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_Full
</UL>

<P><STRONG><a name="[316]"></a>_ll_udiv10</STRONG> (Thumb, 138 bytes, Stack size 12 bytes, lludiv10.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = _ll_udiv10
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_longlong_dec
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[62]"></a>isspace</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, isspace.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = isspace &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
</UL>
<BR>[Address Reference Count : 2]<UL><LI> scanf_char.o(.text)
<LI> strtod.o(.text)
</UL>
<P><STRONG><a name="[32a]"></a>_printf_fp_hex_real</STRONG> (Thumb, 756 bytes, Stack size 72 bytes, _printf_fp_hex.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = _printf_fp_hex_real &rArr; _printf_fp_infnan &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassify
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_infnan
</UL>
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex
</UL>

<P><STRONG><a name="[319]"></a>_printf_fp_infnan</STRONG> (Thumb, 112 bytes, Stack size 24 bytes, _printf_fp_infnan.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _printf_fp_infnan &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
</UL>
<BR>[Called By]<UL><LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex_real
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
</UL>

<P><STRONG><a name="[32b]"></a>_printf_lcs_common</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, _printf_wchar.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = _printf_lcs_common &rArr; _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wctomb
</UL>
<BR>[Called By]<UL><LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wstring
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wchar
</UL>

<P><STRONG><a name="[86]"></a>_printf_wchar</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = _printf_wchar &rArr; _printf_lcs_common &rArr; _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[32b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lcs_common
</UL>
<BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lc
</UL>

<P><STRONG><a name="[88]"></a>_printf_wstring</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = _printf_wstring &rArr; _printf_lcs_common &rArr; _printf_wctomb &rArr; _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[32b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_lcs_common
</UL>
<BR>[Called By]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_ls
</UL>

<P><STRONG><a name="[320]"></a>__vfscanf</STRONG> (Thumb, 880 bytes, Stack size 96 bytes, _scanf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 436<LI>Call Chain = __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[32c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_string
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_int
<LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_real
<LI><a href="#[329]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wstring
<LI><a href="#[327]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wctomb
<LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_mbtowc
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_longlong
</UL>
<BR>[Called By]<UL><LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf_char
</UL>

<P><STRONG><a name="[330]"></a>_scanf_really_real</STRONG> (Thumb, 684 bytes, Stack size 120 bytes, scanf_fp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 340<LI>Call Chain = _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[2fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_is_digit
<LI><a href="#[333]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_narrow
<LI><a href="#[331]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_infnan
<LI><a href="#[332]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_hex_real
<LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale
</UL>
<BR>[Called By]<UL><LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_real
</UL>

<P><STRONG><a name="[324]"></a>_strtoul</STRONG> (Thumb, 158 bytes, Stack size 40 bytes, _strtoul.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _strtoul
</UL>
<BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
<LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_chval
</UL>
<BR>[Called By]<UL><LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtol
</UL>

<P><STRONG><a name="[328]"></a>_scanf_wcharmap</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, _scanf_wcharmap.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _scanf_wcharmap
</UL>
<BR>[Called By]<UL><LI><a href="#[329]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wstring
<LI><a href="#[327]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wctomb
</UL>

<P><STRONG><a name="[312]"></a>_btod_etento</STRONG> (Thumb, 224 bytes, Stack size 72 bytes, bigflt0.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 124<LI>Call Chain = _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv
</UL>
<BR>[Called By]<UL><LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[31b]"></a>ferror</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, ferror.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_char_file
</UL>

<P><STRONG><a name="[326]"></a>_mbrtowc</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, _mbrtowc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _mbrtowc &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
</UL>
<BR>[Called By]<UL><LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_mbtowc
</UL>

<P><STRONG><a name="[31d]"></a>_wcrtomb</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, _wcrtomb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _wcrtomb &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_ctype_table
</UL>
<BR>[Called By]<UL><LI><a href="#[327]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_wctomb
<LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_wctomb
</UL>

<P><STRONG><a name="[30d]"></a>__rt_SIGRTMEM</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, defsig_rtmem_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __rt_SIGRTMEM &rArr; __rt_SIGRTMEM_inner &rArr; __default_signal_display
</UL>
<BR>[Calls]<UL><LI><a href="#[334]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM_inner
<LI><a href="#[335]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__sig_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_init_alloc
<LI><a href="#[30c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__Heap_Broken
</UL>

<P><STRONG><a name="[91]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[337]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<LI><a href="#[336]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
</UL>

<P><STRONG><a name="[96]"></a>exit</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = exit
</UL>
<BR>[Calls]<UL><LI><a href="#[338]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>

<P><STRONG><a name="[335]"></a>__sig_exit</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, defsig_exit.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM
</UL>

<P><STRONG><a name="[334]"></a>__rt_SIGRTMEM_inner</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, defsig_rtmem_inner.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __rt_SIGRTMEM_inner &rArr; __default_signal_display
</UL>
<BR>[Calls]<UL><LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__default_signal_display
</UL>
<BR>[Called By]<UL><LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM
</UL>

<P><STRONG><a name="[33a]"></a>_scanf_really_hex_real</STRONG> (Thumb, 786 bytes, Stack size 80 bytes, scanf_hexfp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = _scanf_really_hex_real &rArr; __support_ldexp &rArr; ldexp &rArr; __aeabi_cdcmpeq
</UL>
<BR>[Calls]<UL><LI><a href="#[33c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__support_ldexp
<LI><a href="#[33b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[333]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_narrow
<LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_chval
</UL>
<BR>[Called By]<UL><LI><a href="#[332]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_hex_real
</UL>

<P><STRONG><a name="[36f]"></a>_scanf_really_infnan</STRONG> (Thumb, 292 bytes, Stack size 72 bytes, scanf_infnan.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = _scanf_really_infnan
</UL>
<BR>[Called By]<UL><LI><a href="#[331]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_infnan
</UL>

<P><STRONG><a name="[339]"></a>__default_signal_display</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, defsig_general.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __default_signal_display
</UL>
<BR>[Calls]<UL><LI><a href="#[33d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ttywrch
</UL>
<BR>[Called By]<UL><LI><a href="#[334]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_SIGRTMEM_inner
</UL>

<P><STRONG><a name="[33b]"></a>__aeabi_llsl</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_hex_real
</UL>

<P><STRONG><a name="[458]"></a>_ll_shift_l</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

<P><STRONG><a name="[313]"></a>_btod_d2e</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e))
<BR><BR>[Calls]<UL><LI><a href="#[33e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1
</UL>
<BR>[Called By]<UL><LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[33f]"></a>_d2e_denorm_low</STRONG> (Thumb, 70 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_denorm_low))
<BR><BR>[Called By]<UL><LI><a href="#[33e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_norm_op1
</UL>

<P><STRONG><a name="[33e]"></a>_d2e_norm_op1</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, btod.o(CL$$btod_d2e_norm_op1))
<BR><BR>[Calls]<UL><LI><a href="#[33f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2e_denorm_low
</UL>
<BR>[Called By]<UL><LI><a href="#[313]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_d2e
</UL>

<P><STRONG><a name="[342]"></a>__btod_div_common</STRONG> (Thumb, 696 bytes, Stack size 24 bytes, btod.o(CL$$btod_div_common))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __btod_div_common
</UL>
<BR>[Called By]<UL><LI><a href="#[32f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_edivd
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv
</UL>

<P><STRONG><a name="[340]"></a>_e2d</STRONG> (Thumb, 122 bytes, Stack size 32 bytes, btod.o(CL$$btod_e2d))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _e2d &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[341]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e
</UL>
<BR>[Called By]<UL><LI><a href="#[32e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emuld
<LI><a href="#[32f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_edivd
</UL>

<P><STRONG><a name="[341]"></a>_e2e</STRONG> (Thumb, 220 bytes, Stack size 24 bytes, btod.o(CL$$btod_e2e))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _e2e
</UL>
<BR>[Called By]<UL><LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv
<LI><a href="#[340]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2d
</UL>

<P><STRONG><a name="[314]"></a>_btod_ediv</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_ediv))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_ediv &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[341]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e
<LI><a href="#[342]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_div_common
</UL>
<BR>[Called By]<UL><LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[32f]"></a>_btod_edivd</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_edivd))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = _btod_edivd &rArr; _e2d &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[340]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2d
<LI><a href="#[342]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_div_common
</UL>
<BR>[Called By]<UL><LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[315]"></a>_btod_emul</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_emul))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_mult_common
<LI><a href="#[341]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2e
</UL>
<BR>[Called By]<UL><LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[32e]"></a>_btod_emuld</STRONG> (Thumb, 42 bytes, Stack size 28 bytes, btod.o(CL$$btod_emuld))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = _btod_emuld &rArr; _e2d &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__btod_mult_common
<LI><a href="#[340]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_e2d
</UL>
<BR>[Called By]<UL><LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[343]"></a>__btod_mult_common</STRONG> (Thumb, 580 bytes, Stack size 16 bytes, btod.o(CL$$btod_mult_common))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __btod_mult_common
</UL>
<BR>[Called By]<UL><LI><a href="#[32e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emuld
<LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
</UL>

<P><STRONG><a name="[318]"></a>__ARM_fpclassify</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify))
<BR><BR>[Called By]<UL><LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex_real
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
</UL>

<P><STRONG><a name="[344]"></a>__kernel_poly</STRONG> (Thumb, 170 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[346]"></a>__mathlib_dbl_infnan</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
</UL>
<BR>[Called By]<UL><LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[348]"></a>__mathlib_dbl_infnan2</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_infnan2), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
</UL>

<P><STRONG><a name="[349]"></a>__mathlib_dbl_overflow</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_overflow))
<BR><BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
</UL>
<BR>[Called By]<UL><LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
</UL>

<P><STRONG><a name="[34a]"></a>__mathlib_dbl_underflow</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, dunder.o(i.__mathlib_dbl_underflow))
<BR><BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
</UL>
<BR>[Called By]<UL><LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[333]"></a>__mathlib_narrow</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, narrow.o(i.__mathlib_narrow))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = __mathlib_narrow &rArr; __mathlib_tofloat &rArr; __aeabi_d2f
</UL>
<BR>[Calls]<UL><LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>
<BR>[Called By]<UL><LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_hex_real
<LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[34b]"></a>__mathlib_tofloat</STRONG> (Thumb, 184 bytes, Stack size 24 bytes, narrow.o(i.__mathlib_tofloat))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = __mathlib_tofloat &rArr; __aeabi_d2f
</UL>
<BR>[Calls]<UL><LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[34c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;frexp
<LI><a href="#[34d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmpeq
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
</UL>
<BR>[Called By]<UL><LI><a href="#[333]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_narrow
</UL>

<P><STRONG><a name="[33c]"></a>__support_ldexp</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, ldexp.o(i.__support_ldexp))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = __support_ldexp &rArr; ldexp &rArr; __aeabi_cdcmpeq
</UL>
<BR>[Calls]<UL><LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
</UL>
<BR>[Called By]<UL><LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_hex_real
</UL>

<P><STRONG><a name="[2fe]"></a>_is_digit</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, __printf_wp.o(i._is_digit))
<BR><BR>[Called By]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__printf
<LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[34f]"></a>atan</STRONG> (Thumb, 474 bytes, Stack size 40 bytes, atan.o(i.atan), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[1da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[344]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__kernel_poly
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassify
<LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
<LI><a href="#[34a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_underflow
<LI><a href="#[346]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_infnan
</UL>
<BR>[Called By]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
</UL>

<P><STRONG><a name="[22f]"></a>atan2</STRONG> (Thumb, 374 bytes, Stack size 32 bytes, atan2.o(i.atan2), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[1da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[348]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_infnan2
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
<LI><a href="#[34d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmpeq
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
</UL>
<BR>[Called By]<UL><LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_IsInAngle
</UL>

<P><STRONG><a name="[34c]"></a>frexp</STRONG> (Thumb, 80 bytes, Stack size 8 bytes, frexp.o(i.frexp))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = frexp
</UL>
<BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
</UL>
<BR>[Called By]<UL><LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>

<P><STRONG><a name="[34e]"></a>ldexp</STRONG> (Thumb, 116 bytes, Stack size 24 bytes, ldexp.o(i.ldexp))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = ldexp &rArr; __aeabi_cdcmpeq
</UL>
<BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
<LI><a href="#[34a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_underflow
<LI><a href="#[349]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_overflow
<LI><a href="#[34d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmpeq
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
</UL>
<BR>[Called By]<UL><LI><a href="#[33c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__support_ldexp
</UL>

<P><STRONG><a name="[239]"></a>round</STRONG> (Thumb, 136 bytes, Stack size 32 bytes, round.o(i.round))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = round &rArr; __aeabi_cdcmple
</UL>
<BR>[Calls]<UL><LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[1da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
<LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[350]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_drnd
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
</UL>

<P><STRONG><a name="[1d2]"></a>strtod</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, strtod.o(i.strtod))
<BR><BR>[Stack]<UL><LI>Max Depth = 452<LI>Call Chain = strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__strtod_int
</UL>
<BR>[Called By]<UL><LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
</UL>

<P><STRONG><a name="[5e]"></a>_get_lc_ctype</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _get_lc_ctype
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_ctype_2
</UL>
<BR>[Address Reference Count : 1]<UL><LI> rt_ctype_table.o(.text)
</UL>
<P><STRONG><a name="[8f]"></a>_get_lc_numeric</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _get_lc_numeric
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init_lc_numeric_2
</UL>

<P><STRONG><a name="[190]"></a>__aeabi_d2f</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, d2f.o(x$fpl$d2f))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_d2f
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>

<P><STRONG><a name="[351]"></a>_d2f</STRONG> (Thumb, 98 bytes, Stack size 32 bytes, d2f.o(x$fpl$d2f), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[352]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fretinf
<LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[345]"></a>__aeabi_dadd</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_dadd
</UL>
<BR>[Called By]<UL><LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
<LI><a href="#[344]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__kernel_poly
<LI><a href="#[348]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_infnan2
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[354]"></a>_dadd</STRONG> (Thumb, 332 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[355]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dsub1
<LI><a href="#[356]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dretinf
<LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[357]"></a>__fpl_dcheck_NaN1</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, dcheck1.o(x$fpl$dcheck1))
<BR><BR>[Calls]<UL><LI><a href="#[358]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_return_NaN
</UL>
<BR>[Called By]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbn
</UL>

<P><STRONG><a name="[35b]"></a>__fpl_dcmp_Inf</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, dcmpi.o(x$fpl$dcmpinf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[35e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dcmple
<LI><a href="#[35a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dcmpeq
</UL>

<P><STRONG><a name="[11c]"></a>__aeabi_ddiv</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_ddiv
</UL>
<BR>[Called By]<UL><LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_IsInAngle
<LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[359]"></a>_ddiv</STRONG> (Thumb, 552 bytes, Stack size 32 bytes, ddiv.o(x$fpl$ddiv), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[356]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dretinf
<LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[34d]"></a>__aeabi_cdcmpeq</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, deqf.o(x$fpl$deqf))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_cdcmpeq
</UL>
<BR>[Called By]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
<LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>

<P><STRONG><a name="[35a]"></a>_dcmpeq</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, deqf.o(x$fpl$deqf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
<LI><a href="#[35b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dcmp_Inf
</UL>

<P><STRONG><a name="[1d4]"></a>__aeabi_d2iz</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, dfix.o(x$fpl$dfix))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_d2iz
</UL>
<BR>[Called By]<UL><LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_IsInAngle
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetNumberHelper
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
</UL>

<P><STRONG><a name="[35c]"></a>_dfix</STRONG> (Thumb, 94 bytes, Stack size 32 bytes, dfix.o(x$fpl$dfix), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[236]"></a>__aeabi_d2uiz</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_d2uiz
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
</UL>

<P><STRONG><a name="[35d]"></a>_dfixu</STRONG> (Thumb, 90 bytes, Stack size 32 bytes, dfixu.o(x$fpl$dfixu), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[11a]"></a>__aeabi_i2d</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dflt))
<BR><BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_IsInAngle
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateIntArray
</UL>

<P><STRONG><a name="[459]"></a>_dflt</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dflt), UNUSED)

<P><STRONG><a name="[237]"></a>__aeabi_ui2d</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dfltu))
<BR><BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
</UL>

<P><STRONG><a name="[45a]"></a>_dfltu</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, dflt_clz.o(x$fpl$dfltu), UNUSED)

<P><STRONG><a name="[1ba]"></a>__aeabi_cdcmple</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, dleqf.o(x$fpl$dleqf))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_cdcmple
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetNumberHelper
<LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
</UL>

<P><STRONG><a name="[35e]"></a>_dcmple</STRONG> (Thumb, 120 bytes, Stack size 32 bytes, dleqf.o(x$fpl$dleqf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
<LI><a href="#[35b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dcmp_Inf
</UL>

<P><STRONG><a name="[361]"></a>__fpl_dcmple_InfNaN</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, dleqf.o(x$fpl$dleqf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[360]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_drcmple
</UL>

<P><STRONG><a name="[11b]"></a>__aeabi_dmul</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_dmul
</UL>
<BR>[Called By]<UL><LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;download_in_chunks
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_IsInAngle
<LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[344]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__kernel_poly
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[35f]"></a>_dmul</STRONG> (Thumb, 332 bytes, Stack size 32 bytes, dmul.o(x$fpl$dmul), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[356]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dretinf
<LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[353]"></a>__fpl_dnaninf</STRONG> (Thumb, 156 bytes, Stack size 16 bytes, dnaninf.o(x$fpl$dnaninf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __fpl_dnaninf
</UL>
<BR>[Called By]<UL><LI><a href="#[35f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dmul
<LI><a href="#[35e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dcmple
<LI><a href="#[35d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dfixu
<LI><a href="#[35c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dfix
<LI><a href="#[359]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ddiv
<LI><a href="#[364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dsub
<LI><a href="#[354]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dadd
<LI><a href="#[351]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2f
<LI><a href="#[350]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_drnd
<LI><a href="#[35a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dcmpeq
</UL>

<P><STRONG><a name="[356]"></a>__fpl_dretinf</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, dretinf.o(x$fpl$dretinf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[365]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_f2d
<LI><a href="#[35f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dmul
<LI><a href="#[359]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ddiv
<LI><a href="#[354]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dadd
</UL>

<P><STRONG><a name="[1d3]"></a>__aeabi_cdrcmple</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, drleqf.o(x$fpl$drleqf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_cdrcmple
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[1d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetNumberHelper
<LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
<LI><a href="#[34b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_tofloat
</UL>

<P><STRONG><a name="[360]"></a>_drcmple</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, drleqf.o(x$fpl$drleqf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[361]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dcmple_InfNaN
</UL>

<P><STRONG><a name="[350]"></a>_drnd</STRONG> (Thumb, 180 bytes, Stack size 16 bytes, drnd.o(x$fpl$drnd))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = _drnd &rArr; __fpl_dnaninf
</UL>
<BR>[Calls]<UL><LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>
<BR>[Called By]<UL><LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
</UL>

<P><STRONG><a name="[238]"></a>__aeabi_drsub</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, daddsub_clz.o(x$fpl$drsb))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_drsub
</UL>
<BR>[Called By]<UL><LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OLED_ShowFloatNum
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
<LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[362]"></a>_drsb</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, daddsub_clz.o(x$fpl$drsb), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[355]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dsub1
<LI><a href="#[363]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dadd1
</UL>

<P><STRONG><a name="[1da]"></a>__aeabi_dsub</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, daddsub_clz.o(x$fpl$dsub))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __aeabi_dsub
</UL>
<BR>[Called By]<UL><LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;round
<LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan2
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[364]"></a>_dsub</STRONG> (Thumb, 464 bytes, Stack size 32 bytes, daddsub_clz.o(x$fpl$dsub), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[363]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dadd1
<LI><a href="#[353]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dnaninf
</UL>

<P><STRONG><a name="[ac]"></a>__aeabi_f2d</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, f2d.o(x$fpl$f2d))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_f2d
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResponseJsonData
<LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PublishLiquidInfo
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DS18B20_Get_Temp
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFloatArray
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Slave_Device_Response_Data
</UL>

<P><STRONG><a name="[365]"></a>_f2d</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, f2d.o(x$fpl$f2d), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[366]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
<LI><a href="#[356]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dretinf
</UL>

<P><STRONG><a name="[45b]"></a>__aeabi_fadd</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, faddsub_clz.o(x$fpl$fadd), UNUSED)

<P><STRONG><a name="[367]"></a>_fadd</STRONG> (Thumb, 196 bytes, Stack size 16 bytes, faddsub_clz.o(x$fpl$fadd), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[368]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fsub1
<LI><a href="#[352]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fretinf
<LI><a href="#[366]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
</UL>

<P><STRONG><a name="[36b]"></a>__fpl_fcmp_Inf</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, fcmpi.o(x$fpl$fcmpinf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[36a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fcmple
</UL>

<P><STRONG><a name="[ab]"></a>__aeabi_fdiv</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_fdiv
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Task_Processing
</UL>

<P><STRONG><a name="[369]"></a>_fdiv</STRONG> (Thumb, 384 bytes, Stack size 16 bytes, fdiv.o(x$fpl$fdiv), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[352]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fretinf
<LI><a href="#[366]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
</UL>

<P><STRONG><a name="[15c]"></a>__aeabi_i2f</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt))
<BR><BR>[Called By]<UL><LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
</UL>

<P><STRONG><a name="[45c]"></a>_fflt</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, fflt_clz.o(x$fpl$fflt), UNUSED)

<P><STRONG><a name="[15d]"></a>__aeabi_cfcmple</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, fleqf.o(x$fpl$fleqf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_cfcmple
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLiquidDepth
</UL>

<P><STRONG><a name="[36a]"></a>_fcmple</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, fleqf.o(x$fpl$fleqf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[366]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
<LI><a href="#[36b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fcmp_Inf
</UL>

<P><STRONG><a name="[45d]"></a>__fpl_fcmple_InfNaN</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, fleqf.o(x$fpl$fleqf), UNUSED)

<P><STRONG><a name="[366]"></a>__fpl_fnaninf</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, fnaninf.o(x$fpl$fnaninf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[36a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fcmple
<LI><a href="#[369]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fdiv
<LI><a href="#[36c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fsub
<LI><a href="#[367]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fadd
<LI><a href="#[365]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_f2d
</UL>

<P><STRONG><a name="[352]"></a>__fpl_fretinf</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, fretinf.o(x$fpl$fretinf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[369]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fdiv
<LI><a href="#[367]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fadd
<LI><a href="#[351]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_d2f
</UL>

<P><STRONG><a name="[1b9]"></a>__aeabi_fsub</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, faddsub_clz.o(x$fpl$fsub))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_fsub
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RequestJsonData
</UL>

<P><STRONG><a name="[36c]"></a>_fsub</STRONG> (Thumb, 234 bytes, Stack size 16 bytes, faddsub_clz.o(x$fpl$fsub), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[36d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fadd1
<LI><a href="#[366]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
</UL>

<P><STRONG><a name="[4]"></a>__ieee_status</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, istatus.o(x$fpl$ieeestatus))
<BR><BR>[Called By]<UL><LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[6c]"></a>_printf_fp_dec</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, printf1.o(x$fpl$printf1))
<BR><BR>[Stack]<UL><LI>Max Depth = 324<LI>Call Chain = _printf_fp_dec &rArr; _printf_fp_dec_real &rArr; _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
</UL>
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_f
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_g
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_e
</UL>

<P><STRONG><a name="[70]"></a>_printf_fp_hex</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, printf2.o(x$fpl$printf2))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = _printf_fp_hex &rArr; _printf_fp_hex_real &rArr; _printf_fp_infnan &rArr; _printf_post_padding
</UL>
<BR>[Calls]<UL><LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_hex_real
</UL>
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_a
</UL>

<P><STRONG><a name="[358]"></a>__fpl_return_NaN</STRONG> (Thumb, 100 bytes, Stack size 0 bytes, retnan.o(x$fpl$retnan))
<BR><BR>[Calls]<UL><LI><a href="#[36e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_cmpreturn
</UL>
<BR>[Called By]<UL><LI><a href="#[357]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dcheck_NaN1
</UL>

<P><STRONG><a name="[347]"></a>__ARM_scalbn</STRONG> (Thumb, 92 bytes, Stack size 0 bytes, scalbn.o(x$fpl$scalbn))
<BR><BR>[Calls]<UL><LI><a href="#[357]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_dcheck_NaN1
</UL>
<BR>[Called By]<UL><LI><a href="#[34e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ldexp
<LI><a href="#[34c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;frexp
<LI><a href="#[34a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_underflow
<LI><a href="#[349]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_overflow
<LI><a href="#[346]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_dbl_infnan
<LI><a href="#[34f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;atan
</UL>

<P><STRONG><a name="[322]"></a>_scanf_real</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, scanf1.o(x$fpl$scanf1))
<BR><BR>[Stack]<UL><LI>Max Depth = 340<LI>Call Chain = _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
<LI><a href="#[321]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_local_sscanf
</UL>

<P><STRONG><a name="[332]"></a>_scanf_hex_real</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, scanf2.o(x$fpl$scanf2))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = _scanf_hex_real &rArr; _scanf_really_hex_real &rArr; __support_ldexp &rArr; ldexp &rArr; __aeabi_cdcmpeq
</UL>
<BR>[Calls]<UL><LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_hex_real
</UL>
<BR>[Called By]<UL><LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[331]"></a>_scanf_infnan</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, scanf2.o(x$fpl$scanf2))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = _scanf_infnan &rArr; _scanf_really_infnan
</UL>
<BR>[Calls]<UL><LI><a href="#[36f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_infnan
</UL>
<BR>[Called By]<UL><LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[36e]"></a>__fpl_cmpreturn</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, trapv.o(x$fpl$trapveneer))
<BR><BR>[Called By]<UL><LI><a href="#[358]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_return_NaN
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[e4]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>

<P><STRONG><a name="[e3]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>

<P><STRONG><a name="[e6]"></a>md5_transform</STRONG> (Thumb, 332 bytes, Stack size 100 bytes, md5.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = md5_transform
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Final
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MD5_Update
</UL>

<P><STRONG><a name="[f6]"></a>NVIC_SystemReset</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, ota.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OTA_Reboot
<LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CheckUpdate
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart3_recvOTA
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boot_main
</UL>

<P><STRONG><a name="[1ca]"></a>case_insensitive_strcmp</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = case_insensitive_strcmp &rArr; tolower &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[1cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tolower
</UL>
<BR>[Called By]<UL><LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
</UL>

<P><STRONG><a name="[1cc]"></a>cJSON_strdup</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Duplicate
<LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateRaw
<LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateString
<LI><a href="#[1d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_SetValuestring
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
</UL>

<P><STRONG><a name="[1ce]"></a>cJSON_New_Item</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = cJSON_New_Item &rArr; memset
</UL>
<BR>[Calls]<UL><LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memset
</UL>
<BR>[Called By]<UL><LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Duplicate
<LI><a href="#[219]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArrayReference
<LI><a href="#[218]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObjectReference
<LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringReference
<LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateRaw
<LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateString
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNumber
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateBool
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFalse
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateTrue
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateNull
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[1f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;create_reference
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_array
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObject
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArray
</UL>

<P><STRONG><a name="[1d1]"></a>get_decimal_point</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
</UL>

<P><STRONG><a name="[1d0]"></a>parse_number</STRONG> (Thumb, 298 bytes, Stack size 96 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 548<LI>Call Chain = parse_number &rArr; strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_decimal_point
<LI><a href="#[1d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtod
<LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[1d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2iz
</UL>
<BR>[Called By]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
</UL>

<P><STRONG><a name="[1d7]"></a>ensure</STRONG> (Thumb, 236 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = ensure &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_array
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_object
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
</UL>

<P><STRONG><a name="[1d8]"></a>update_offset</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = update_offset &rArr; strlen
</UL>
<BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_array
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_object
</UL>

<P><STRONG><a name="[1d9]"></a>compare_double</STRONG> (Thumb, 128 bytes, Stack size 56 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = compare_double &rArr; __aeabi_dmul
</UL>
<BR>[Calls]<UL><LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdcmple
<LI><a href="#[1da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
</UL>
<BR>[Called By]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
</UL>

<P><STRONG><a name="[1db]"></a>print_number</STRONG> (Thumb, 268 bytes, Stack size 80 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 588 + Unknown Stack Size
<LI>Call Chain = print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;compare_double
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
<LI><a href="#[1d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_decimal_point
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[1dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sscanf
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
</UL>

<P><STRONG><a name="[1de]"></a>parse_hex4</STRONG> (Thumb, 90 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utf16_literal_to_utf8
</UL>

<P><STRONG><a name="[1dd]"></a>utf16_literal_to_utf8</STRONG> (Thumb, 300 bytes, Stack size 56 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = utf16_literal_to_utf8
</UL>
<BR>[Calls]<UL><LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_hex4
</UL>
<BR>[Called By]<UL><LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_string
</UL>

<P><STRONG><a name="[1df]"></a>parse_string</STRONG> (Thumb, 432 bytes, Stack size 40 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = parse_string &rArr; utf16_literal_to_utf8
</UL>
<BR>[Calls]<UL><LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utf16_literal_to_utf8
</UL>
<BR>[Called By]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
</UL>

<P><STRONG><a name="[1e0]"></a>print_string_ptr</STRONG> (Thumb, 360 bytes, Stack size 32 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
<LI>Call Chain = print_string_ptr &rArr; sprintf &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
<LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_object
<LI><a href="#[1e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string
</UL>

<P><STRONG><a name="[1e1]"></a>print_string</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = print_string &rArr; print_string_ptr &rArr; sprintf &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
</UL>

<P><STRONG><a name="[1e4]"></a>buffer_skip_whitespace</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_array
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
</UL>

<P><STRONG><a name="[1e2]"></a>skip_utf8_bom</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = skip_utf8_bom &rArr; strncmp
</UL>
<BR>[Calls]<UL><LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
</UL>
<BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
</UL>

<P><STRONG><a name="[1e3]"></a>parse_object</STRONG> (Thumb, 318 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 120 + Unknown Stack Size
 + In Cycle
<LI>Call Chain = parse_object &rArr;  parse_value (Cycle)
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_skip_whitespace
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_string
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
</UL>

<P><STRONG><a name="[1e6]"></a>parse_array</STRONG> (Thumb, 266 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48 + Unknown Stack Size
 + In Cycle
<LI>Call Chain = parse_array &rArr;  parse_value (Cycle)
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_skip_whitespace
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Delete
</UL>
<BR>[Called By]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_value
</UL>

<P><STRONG><a name="[1e5]"></a>parse_value</STRONG> (Thumb, 292 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 564 + Unknown Stack Size
<LI>Call Chain = parse_value &rArr; parse_number &rArr; strtod &rArr; __strtod_int &rArr; _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_array
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_string
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_number
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strncmp
</UL>
<BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ParseWithLengthOpts
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_array
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_object
</UL>

<P><STRONG><a name="[1ea]"></a>print_object</STRONG> (Thumb, 372 bytes, Stack size 32 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
 + In Cycle
<LI>Call Chain = print_object &rArr;  print_value (Cycle)
</UL>
<BR>[Calls]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string_ptr
<LI><a href="#[1d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_offset
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
</UL>

<P><STRONG><a name="[1ec]"></a>print_array</STRONG> (Thumb, 204 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56 + In Cycle
<LI>Call Chain = print_array &rArr;  print_value (Cycle)
</UL>
<BR>[Calls]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_offset
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
</UL>

<P><STRONG><a name="[1eb]"></a>print_value</STRONG> (Thumb, 242 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 612 + Unknown Stack Size
<LI>Call Chain = print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_array
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_object
<LI><a href="#[1e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_string
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_number
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ensure
<LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[1f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintPreallocated
<LI><a href="#[1ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintBuffered
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_array
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_object
</UL>

<P><STRONG><a name="[1ed]"></a>print</STRONG> (Thumb, 180 bytes, Stack size 56 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 668 + Unknown Stack Size
<LI>Call Chain = print &rArr; print_value &rArr; print_number &rArr; sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_value
<LI><a href="#[1d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_offset
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memset
<LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Print
<LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_PrintUnformatted
</UL>

<P><STRONG><a name="[1f1]"></a>get_array_item</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[213]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemInArray
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_InsertItemInArray
<LI><a href="#[20a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_DetachItemFromArray
<LI><a href="#[1be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetArrayItem
</UL>

<P><STRONG><a name="[1f2]"></a>get_object_item</STRONG> (Thumb, 82 bytes, Stack size 24 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = get_object_item &rArr; case_insensitive_strcmp &rArr; tolower &rArr; __rt_ctype_table
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;case_insensitive_strcmp
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Compare
<LI><a href="#[1f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItem
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;replace_item_in_object
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_GetObjectItemCaseSensitive
</UL>

<P><STRONG><a name="[1f7]"></a>suffix_object</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[21d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringArray
<LI><a href="#[21c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateDoubleArray
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateFloatArray
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateIntArray
<LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_array
</UL>

<P><STRONG><a name="[1f5]"></a>create_reference</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_New_Item
<LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemReferenceToObject
<LI><a href="#[1fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemReferenceToArray
</UL>

<P><STRONG><a name="[1f6]"></a>add_item_to_array</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = add_item_to_array
</UL>
<BR>[Calls]<UL><LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;suffix_object
</UL>
<BR>[Called By]<UL><LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_InsertItemInArray
<LI><a href="#[1fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemReferenceToArray
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
<LI><a href="#[1b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToArray
</UL>

<P><STRONG><a name="[1f9]"></a>cast_away_const</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, cjson.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[219]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateArrayReference
<LI><a href="#[218]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateObjectReference
<LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_CreateStringReference
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_object
</UL>

<P><STRONG><a name="[1f8]"></a>add_item_to_object</STRONG> (Thumb, 122 bytes, Stack size 32 bytes, cjson.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = add_item_to_object &rArr; cJSON_strdup &rArr; memcpy
</UL>
<BR>[Calls]<UL><LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cast_away_const
<LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;add_item_to_array
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
</UL>
<BR>[Called By]<UL><LI><a href="#[209]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddArrayToObject
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddObjectToObject
<LI><a href="#[207]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddRawToObject
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddFalseToObject
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddTrueToObject
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNullToObject
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemReferenceToObject
<LI><a href="#[1fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToObjectCS
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddStringToObject
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddNumberToObject
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddItemToObject
<LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_AddBoolToObject
</UL>

<P><STRONG><a name="[214]"></a>replace_item_in_object</STRONG> (Thumb, 100 bytes, Stack size 24 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemViaPointer
<LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get_object_item
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_strdup
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_free
</UL>
<BR>[Called By]<UL><LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemInObjectCaseSensitive
<LI><a href="#[215]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_ReplaceItemInObject
</UL>

<P><STRONG><a name="[220]"></a>skip_oneline_comment</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[21f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Minify
</UL>

<P><STRONG><a name="[221]"></a>skip_multiline_comment</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[21f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Minify
</UL>

<P><STRONG><a name="[222]"></a>minify_string</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, cjson.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[21f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cJSON_Minify
</UL>

<P><STRONG><a name="[26b]"></a>MQTTPacket_decodenb</STRONG> (Thumb, 104 bytes, Stack size 24 bytes, mqttpacket.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MQTTPacket_readnb
</UL>

<P><STRONG><a name="[27d]"></a>prvInitialiseNewQueue</STRONG> (Thumb, 46 bytes, Stack size 24 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = prvInitialiseNewQueue &rArr; xQueueGenericReset &rArr; xTaskRemoveFromEventList &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReset
</UL>
<BR>[Called By]<UL><LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
</UL>

<P><STRONG><a name="[280]"></a>prvCopyDataToQueue</STRONG> (Thumb, 124 bytes, Stack size 24 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[281]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskPriorityDisinherit
</UL>
<BR>[Called By]<UL><LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
</UL>

<P><STRONG><a name="[282]"></a>prvNotifyQueueSetContainer</STRONG> (Thumb, 124 bytes, Stack size 32 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 216 + Unknown Stack Size
<LI>Call Chain = prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCopyDataToQueue
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
</UL>
<BR>[Called By]<UL><LI><a href="#[299]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGiveFromISR
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSendFromISR
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvUnlockQueue
</UL>

<P><STRONG><a name="[283]"></a>prvUnlockQueue</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 232 + Unknown Stack Size
<LI>Call Chain = prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvNotifyQueueSetContainer
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskRemoveFromEventList
<LI><a href="#[284]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskMissedYield
</UL>
<BR>[Called By]<UL><LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueWaitForMessageRestricted
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
</UL>

<P><STRONG><a name="[285]"></a>prvIsQueueFull</STRONG> (Thumb, 30 bytes, Stack size 16 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
<LI>Call Chain = prvIsQueueFull &rArr; vPortExitCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>
<BR>[Called By]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
</UL>

<P><STRONG><a name="[28c]"></a>prvInitialiseMutex</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, queue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericSend
</UL>
<BR>[Called By]<UL><LI><a href="#[28d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueCreateMutex
</UL>

<P><STRONG><a name="[290]"></a>prvIsQueueEmpty</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
<LI>Call Chain = prvIsQueueEmpty &rArr; vPortExitCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
</UL>

<P><STRONG><a name="[291]"></a>prvCopyDataFromQueue</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, queue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = prvCopyDataFromQueue
</UL>
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[29b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueuePeekFromISR
<LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueReceiveFromISR
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
</UL>

<P><STRONG><a name="[2ab]"></a>prvInitialiseTaskLists</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = prvInitialiseTaskLists
</UL>
<BR>[Calls]<UL><LI><a href="#[27c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInitialise
</UL>
<BR>[Called By]<UL><LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvAddNewTaskToReadyList
</UL>

<P><STRONG><a name="[2ac]"></a>prvAddNewTaskToReadyList</STRONG> (Thumb, 156 bytes, Stack size 8 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 160 + Unknown Stack Size
<LI>Call Chain = prvAddNewTaskToReadyList &rArr; vPortExitCritical &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
<LI><a href="#[2ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseTaskLists
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
</UL>

<P><STRONG><a name="[2ae]"></a>prvInitialiseNewTask</STRONG> (Thumb, 170 bytes, Stack size 40 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 184 + Unknown Stack Size
<LI>Call Chain = prvInitialiseNewTask &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInitialiseItem
<LI><a href="#[2af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pxPortInitialiseStack
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskCreate
</UL>

<P><STRONG><a name="[2b4]"></a>prvResetNextTaskUnblockTime</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspend
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskIncrementTick
</UL>

<P><STRONG><a name="[2b2]"></a>prvDeleteTCB</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 208 + Unknown Stack Size
<LI>Call Chain = prvDeleteTCB &rArr; vPortFree &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelete
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
</UL>

<P><STRONG><a name="[2b6]"></a>prvAddCurrentTaskToDelayedList</STRONG> (Thumb, 124 bytes, Stack size 24 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = prvAddCurrentTaskToDelayedList &rArr; vListInsert
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsert
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsertEnd
</UL>
<BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelay
<LI><a href="#[2cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnUnorderedEventList
<LI><a href="#[2d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskNotifyWait
<LI><a href="#[2d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ulTaskNotifyTake
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskDelayUntil
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventListRestricted
<LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskPlaceOnEventList
</UL>

<P><STRONG><a name="[2be]"></a>prvTaskIsTaskSuspended</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeFromISR
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskResume
</UL>

<P><STRONG><a name="[2c1]"></a>prvCheckTasksWaitingTermination</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 224 + Unknown Stack Size
<LI>Call Chain = prvCheckTasksWaitingTermination &rArr; prvDeleteTCB &rArr; vPortFree &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvDeleteTCB
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvIdleTask
</UL>

<P><STRONG><a name="[57]"></a>prvIdleTask</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 224 + Unknown Stack Size
<LI>Call Chain = prvIdleTask &rArr; prvCheckTasksWaitingTermination &rArr; prvDeleteTCB &rArr; vPortFree &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckTasksWaitingTermination
</UL>
<BR>[Address Reference Count : 1]<UL><LI> tasks.o(.text)
</UL>
<P><STRONG><a name="[2c9]"></a>prvTaskCheckFreeStackSpace</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, tasks.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetStackHighWaterMark
<LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskGetInfo
</UL>

<P><STRONG><a name="[2ca]"></a>prvListTasksWithinSingleList</STRONG> (Thumb, 106 bytes, Stack size 32 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskGetInfo
</UL>
<BR>[Called By]<UL><LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxTaskGetSystemState
</UL>

<P><STRONG><a name="[2ce]"></a>prvWriteNameToBuffer</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, tasks.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strlen
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskList
</UL>

<P><STRONG><a name="[2d6]"></a>prvInsertTimerInActiveList</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = prvInsertTimerInActiveList &rArr; vListInsert
</UL>
<BR>[Calls]<UL><LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsert
</UL>
<BR>[Called By]<UL><LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessExpiredTimer
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
</UL>

<P><STRONG><a name="[2d8]"></a>prvSwitchTimerLists</STRONG> (Thumb, 140 bytes, Stack size 32 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 368 + Unknown Stack Size
<LI>Call Chain = prvSwitchTimerLists &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInsert
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSampleTimeNow
</UL>

<P><STRONG><a name="[2d9]"></a>prvSampleTimeNow</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 384 + Unknown Stack Size
<LI>Call Chain = prvSampleTimeNow &rArr; prvSwitchTimerLists &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSwitchTimerLists
<LI><a href="#[2da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskGetTickCount
</UL>
<BR>[Called By]<UL><LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
</UL>

<P><STRONG><a name="[2db]"></a>prvProcessReceivedCommands</STRONG> (Thumb, 254 bytes, Stack size 48 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 432 + Unknown Stack Size
<LI>Call Chain = prvProcessReceivedCommands &rArr; prvSampleTimeNow &rArr; prvSwitchTimerLists &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericReceive
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
<LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSampleTimeNow
<LI><a href="#[2d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInsertTimerInActiveList
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTimerTask
</UL>

<P><STRONG><a name="[2dc]"></a>prvProcessExpiredTimer</STRONG> (Thumb, 84 bytes, Stack size 24 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 360 + Unknown Stack Size
<LI>Call Chain = prvProcessExpiredTimer &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uxListRemove
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerGenericCommand
<LI><a href="#[2d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInsertTimerInActiveList
</UL>
<BR>[Called By]<UL><LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
</UL>

<P><STRONG><a name="[2dd]"></a>prvProcessTimerOrBlockTask</STRONG> (Thumb, 102 bytes, Stack size 24 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 408 + Unknown Stack Size
<LI>Call Chain = prvProcessTimerOrBlockTask &rArr; prvSampleTimeNow &rArr; prvSwitchTimerLists &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueWaitForMessageRestricted
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTaskResumeAll
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vTaskSuspendAll
<LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessExpiredTimer
<LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvSampleTimeNow
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTimerTask
</UL>

<P><STRONG><a name="[2de]"></a>prvGetNextExpireTime</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, timers.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvTimerTask
</UL>

<P><STRONG><a name="[58]"></a>prvTimerTask</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 440 + Unknown Stack Size
<LI>Call Chain = prvTimerTask &rArr; prvProcessReceivedCommands &rArr; prvSampleTimeNow &rArr; prvSwitchTimerLists &rArr; xTimerGenericCommand &rArr; xQueueGenericSend &rArr; prvUnlockQueue &rArr; prvNotifyQueueSetContainer &rArr; prvCopyDataToQueue &rArr; xTaskPriorityDisinherit &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[2de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvGetNextExpireTime
<LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessTimerOrBlockTask
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvProcessReceivedCommands
</UL>
<BR>[Address Reference Count : 1]<UL><LI> timers.o(.text)
</UL>
<P><STRONG><a name="[2df]"></a>prvCheckForValidListAndQueue</STRONG> (Thumb, 72 bytes, Stack size 8 bytes, timers.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 248 + Unknown Stack Size
<LI>Call Chain = prvCheckForValidListAndQueue &rArr; xQueueGenericCreate &rArr; pvPortMalloc &rArr; xTaskResumeAll &rArr; xTaskIncrementTick &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortExitCritical
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortEnterCritical
<LI><a href="#[2e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vQueueAddToRegistry
<LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xQueueGenericCreate
<LI><a href="#[27c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInitialise
</UL>
<BR>[Called By]<UL><LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvInitialiseNewTimer
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreateTimerTask
</UL>

<P><STRONG><a name="[2e1]"></a>prvInitialiseNewTimer</STRONG> (Thumb, 170 bytes, Stack size 32 bytes, timers.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vListInitialiseItem
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prvCheckForValidListAndQueue
</UL>
<BR>[Called By]<UL><LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;xTimerCreate
</UL>

<P><STRONG><a name="[59]"></a>prvTaskExitError</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, port.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 144 + Unknown Stack Size
<LI>Call Chain = prvTaskExitError &rArr; __2printf &rArr; _printf_char_file &rArr; _printf_char_common &rArr; __printf
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> port.o(.text)
</UL>
<P><STRONG><a name="[2f0]"></a>prvInsertBlockIntoFreeList</STRONG> (Thumb, 96 bytes, Stack size 8 bytes, heap_4.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = prvInsertBlockIntoFreeList
</UL>
<BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vPortFree
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
</UL>

<P><STRONG><a name="[2ef]"></a>prvHeapInit</STRONG> (Thumb, 98 bytes, Stack size 12 bytes, heap_4.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = prvHeapInit
</UL>
<BR>[Called By]<UL><LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;pvPortMalloc
</UL>

<P><STRONG><a name="[30a]"></a>_tm_carry</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, mktime.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _tm_carry
</UL>
<BR>[Called By]<UL><LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mktime
</UL>

<P><STRONG><a name="[363]"></a>_dadd1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dadd), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dsub
<LI><a href="#[362]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_drsb
</UL>

<P><STRONG><a name="[355]"></a>_dsub1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, daddsub_clz.o(x$fpl$dsub), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[362]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_drsb
<LI><a href="#[354]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_dadd
</UL>

<P><STRONG><a name="[36d]"></a>_fadd1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, faddsub_clz.o(x$fpl$fadd), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[36c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fsub
</UL>

<P><STRONG><a name="[368]"></a>_fsub1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, faddsub_clz.o(x$fpl$fsub), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[367]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fadd
</UL>

<P><STRONG><a name="[311]"></a>_fp_digits</STRONG> (Thumb, 432 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 220<LI>Call Chain = _fp_digits &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emul
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_ediv
<LI><a href="#[313]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_d2e
<LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
<LI><a href="#[316]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ll_udiv10
</UL>
<BR>[Called By]<UL><LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_fp_dec_real
</UL>

<P><STRONG><a name="[5f]"></a>_printf_input_char</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> _printf_char_common.o(.text)
</UL>
<P><STRONG><a name="[61]"></a>_scanf_char_input</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> scanf_char.o(.text)
</UL>
<P><STRONG><a name="[321]"></a>_local_sscanf</STRONG> (Thumb, 60 bytes, Stack size 56 bytes, strtod.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 396<LI>Call Chain = _local_sscanf &rArr; _scanf_real &rArr; _scanf_really_real &rArr; _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_real
</UL>
<BR>[Called By]<UL><LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__strtod_int
</UL>

<P><STRONG><a name="[32d]"></a>_fp_value</STRONG> (Thumb, 588 bytes, Stack size 96 bytes, scanf_fp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 220<LI>Call Chain = _fp_value &rArr; _btod_etento &rArr; _btod_emul &rArr; _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_errno_addr
<LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ieee_status
<LI><a href="#[32e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_emuld
<LI><a href="#[32f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_edivd
<LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_btod_etento
</UL>
<BR>[Called By]<UL><LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>
